openapi: 3.0.3
info:
title: 'School Management API Documentation'
description: 'REST API for the School Management System covering students, staff, classes, exams, attendance, fees, hostel, transport, timetable, and communication modules.'
version: 1.0.0
servers:
-
url: 'http://10.160.0.2'
tags:
-
name: 'Attendance Management'
description: ''
-
name: 'Class Management'
description: ''
-
name: 'Communication Management'
description: ''
-
name: 'Exam Management'
description: ''
-
name: 'Fee Management'
description: ''
-
name: 'Hostel & Transport Management'
description: ''
-
name: 'RBAC Management'
description: ''
-
name: 'Staff Management'
description: ''
-
name: 'Student Management'
description: ''
-
name: 'Subject Management'
description: ''
-
name: 'Timetable Management'
description: ''
components:
securitySchemes:
default:
type: http
scheme: bearer
description: 'You can retrieve your token by visiting your dashboard and clicking Generate API token.'
security:
-
default: []
paths:
/api/studentAttendance:
get:
summary: ''
operationId: getApiStudentAttendance
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Attendance Management'
security: []
post:
summary: ''
operationId: postApiStudentAttendance
description: ''
parameters: []
responses: { }
tags:
- 'Attendance Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
student_id:
type: integer
description: ''
example: 16
date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
status:
type: string
description: ''
example: Present
enum:
- Present
- Absent
- Leave
batch_id:
type: integer
description: ''
example: 16
nullable: true
remarks:
type: string
description: ''
example: architecto
nullable: true
marked_by:
type: integer
description: ''
example: 16
nullable: true
required:
- student_id
- date
- status
security: []
'/api/studentAttendance/{attendance_id}':
get:
summary: ''
operationId: getApiStudentAttendanceAttendance_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Attendance Management'
security: []
put:
summary: ''
operationId: putApiStudentAttendanceAttendance_id
description: ''
parameters: []
responses: { }
tags:
- 'Attendance Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
student_id:
type: integer
description: ''
example: 16
date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
status:
type: string
description: ''
example: Absent
enum:
- Present
- Absent
- Leave
batch_id:
type: integer
description: ''
example: 16
nullable: true
remarks:
type: string
description: ''
example: architecto
nullable: true
marked_by:
type: integer
description: ''
example: 16
nullable: true
required:
- student_id
- date
- status
security: []
delete:
summary: ''
operationId: deleteApiStudentAttendanceAttendance_id
description: ''
parameters: []
responses: { }
tags:
- 'Attendance Management'
security: []
parameters:
-
in: path
name: attendance_id
description: 'The ID of the attendance.'
example: 1
required: true
schema:
type: integer
/api/teacherAttendance:
get:
summary: ''
operationId: getApiTeacherAttendance
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Attendance Management'
security: []
post:
summary: ''
operationId: postApiTeacherAttendance
description: ''
parameters: []
responses: { }
tags:
- 'Attendance Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
staff_id:
type: integer
description: ''
example: 16
date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
status:
type: string
description: ''
example: Leave
enum:
- Present
- Absent
- Leave
remarks:
type: string
description: ''
example: architecto
nullable: true
required:
- staff_id
- date
- status
security: []
'/api/teacherAttendance/{attendance_id}':
get:
summary: ''
operationId: getApiTeacherAttendanceAttendance_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Attendance Management'
security: []
put:
summary: ''
operationId: putApiTeacherAttendanceAttendance_id
description: ''
parameters: []
responses: { }
tags:
- 'Attendance Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
staff_id:
type: integer
description: ''
example: 16
date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
status:
type: string
description: ''
example: Present
enum:
- Present
- Absent
- Leave
remarks:
type: string
description: ''
example: architecto
nullable: true
required:
- staff_id
- date
- status
security: []
delete:
summary: ''
operationId: deleteApiTeacherAttendanceAttendance_id
description: ''
parameters: []
responses: { }
tags:
- 'Attendance Management'
security: []
parameters:
-
in: path
name: attendance_id
description: 'The ID of the attendance.'
example: 1
required: true
schema:
type: integer
/api/studentLeaveRequest:
get:
summary: ''
operationId: getApiStudentLeaveRequest
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Attendance Management'
security: []
post:
summary: ''
operationId: postApiStudentLeaveRequest
description: ''
parameters: []
responses: { }
tags:
- 'Attendance Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
student_id:
type: integer
description: ''
example: 16
start_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
end_date:
type: string
description: 'Must be a valid date. Must be a date after or equal to start_date.'
example: '2052-05-26'
reason:
type: string
description: ''
example: architecto
status:
type: string
description: ''
example: Pending
enum:
- Pending
- Approved
- Rejected
applied_on:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
approved_by:
type: integer
description: ''
example: 16
nullable: true
required:
- student_id
- start_date
- end_date
- reason
- status
- applied_on
security: []
'/api/studentLeaveRequest/{leave_request_id}':
get:
summary: ''
operationId: getApiStudentLeaveRequestLeave_request_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Attendance Management'
security: []
put:
summary: ''
operationId: putApiStudentLeaveRequestLeave_request_id
description: ''
parameters: []
responses: { }
tags:
- 'Attendance Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
student_id:
type: integer
description: ''
example: 16
start_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
end_date:
type: string
description: 'Must be a valid date. Must be a date after or equal to start_date.'
example: '2052-05-26'
reason:
type: string
description: ''
example: architecto
status:
type: string
description: ''
example: Approved
enum:
- Pending
- Approved
- Rejected
applied_on:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
approved_by:
type: integer
description: ''
example: 16
nullable: true
required:
- student_id
- start_date
- end_date
- reason
- status
- applied_on
security: []
delete:
summary: ''
operationId: deleteApiStudentLeaveRequestLeave_request_id
description: ''
parameters: []
responses: { }
tags:
- 'Attendance Management'
security: []
parameters:
-
in: path
name: leave_request_id
description: 'The ID of the leave request.'
example: 1
required: true
schema:
type: integer
/api/teacherLeaveRequest:
get:
summary: ''
operationId: getApiTeacherLeaveRequest
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Attendance Management'
security: []
post:
summary: ''
operationId: postApiTeacherLeaveRequest
description: ''
parameters: []
responses: { }
tags:
- 'Attendance Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
staff_id:
type: integer
description: ''
example: 16
start_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
end_date:
type: string
description: 'Must be a valid date. Must be a date after or equal to start_date.'
example: '2052-05-26'
reason:
type: string
description: ''
example: architecto
status:
type: string
description: ''
example: Pending
enum:
- Pending
- Approved
- Rejected
applied_on:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
approved_by:
type: integer
description: ''
example: 16
nullable: true
required:
- staff_id
- start_date
- end_date
- reason
- status
- applied_on
security: []
'/api/teacherLeaveRequest/{leave_request_id}':
get:
summary: ''
operationId: getApiTeacherLeaveRequestLeave_request_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Attendance Management'
security: []
put:
summary: ''
operationId: putApiTeacherLeaveRequestLeave_request_id
description: ''
parameters: []
responses: { }
tags:
- 'Attendance Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
staff_id:
type: integer
description: ''
example: 16
start_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
end_date:
type: string
description: 'Must be a valid date. Must be a date after or equal to start_date.'
example: '2052-05-26'
reason:
type: string
description: ''
example: architecto
status:
type: string
description: ''
example: Approved
enum:
- Pending
- Approved
- Rejected
applied_on:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
approved_by:
type: integer
description: ''
example: 16
nullable: true
required:
- staff_id
- start_date
- end_date
- reason
- status
- applied_on
security: []
delete:
summary: ''
operationId: deleteApiTeacherLeaveRequestLeave_request_id
description: ''
parameters: []
responses: { }
tags:
- 'Attendance Management'
security: []
parameters:
-
in: path
name: leave_request_id
description: 'The ID of the leave request.'
example: 1
required: true
schema:
type: integer
/api/holiday:
get:
summary: ''
operationId: getApiHoliday
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Attendance Management'
security: []
post:
summary: ''
operationId: postApiHoliday
description: ''
parameters: []
responses: { }
tags:
- 'Attendance Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
description: 'Must not be greater than 100 characters.'
example: b
date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
is_recurring:
type: boolean
description: ''
example: false
required:
- title
- date
security: []
'/api/holiday/{holiday_id}':
get:
summary: ''
operationId: getApiHolidayHoliday_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Attendance Management'
security: []
put:
summary: ''
operationId: putApiHolidayHoliday_id
description: ''
parameters: []
responses: { }
tags:
- 'Attendance Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
description: 'Must not be greater than 100 characters.'
example: b
date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
is_recurring:
type: boolean
description: ''
example: false
required:
- title
- date
security: []
delete:
summary: ''
operationId: deleteApiHolidayHoliday_id
description: ''
parameters: []
responses: { }
tags:
- 'Attendance Management'
security: []
parameters:
-
in: path
name: holiday_id
description: 'The ID of the holiday.'
example: 1
required: true
schema:
type: integer
/api/classes:
get:
summary: ''
operationId: getApiClasses
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Class Management'
security: []
post:
summary: ''
operationId: postApiClasses
description: ''
parameters: []
responses: { }
tags:
- 'Class Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
class_name:
type: string
description: 'Must not be greater than 50 characters.'
example: b
class_code:
type: string
description: 'Must not be greater than 20 characters.'
example: ngzmiyvdljnikhwa
nullable: true
academic_year_id:
type: integer
description: 'The academic_year_id of an existing record in the academic_years table.'
example: 16
nullable: true
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
is_active:
type: boolean
description: ''
example: false
required:
- class_name
security: []
'/api/classes/{schoolClass_class_id}':
get:
summary: ''
operationId: getApiClassesSchoolClass_class_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Class Management'
security: []
put:
summary: ''
operationId: putApiClassesSchoolClass_class_id
description: ''
parameters: []
responses: { }
tags:
- 'Class Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
class_name:
type: string
description: 'Must not be greater than 50 characters.'
example: b
nullable: true
class_code:
type: string
description: ''
example: null
academic_year_id:
type: integer
description: 'The academic_year_id of an existing record in the academic_years table.'
example: 16
nullable: true
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
is_active:
type: boolean
description: ''
example: false
security: []
delete:
summary: ''
operationId: deleteApiClassesSchoolClass_class_id
description: ''
parameters: []
responses: { }
tags:
- 'Class Management'
security: []
parameters:
-
in: path
name: schoolClass_class_id
description: 'The ID of the schoolClass class.'
example: 1
required: true
schema:
type: integer
/api/sections:
get:
summary: ''
operationId: getApiSections
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Class Management'
security: []
post:
summary: ''
operationId: postApiSections
description: ''
parameters: []
responses: { }
tags:
- 'Class Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
section_name:
type: string
description: 'Must not be greater than 10 characters.'
example: bngzmi
class_id:
type: integer
description: 'The class_id of an existing record in the classes table.'
example: 16
class_teacher_id:
type: integer
description: 'The staff_id of an existing record in the staff table.'
example: 16
nullable: true
capacity:
type: integer
description: 'Must be at least 0.'
example: 39
nullable: true
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
is_active:
type: boolean
description: ''
example: false
required:
- section_name
- class_id
security: []
'/api/sections/{section_id}':
get:
summary: ''
operationId: getApiSectionsSection_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Class Management'
security: []
put:
summary: ''
operationId: putApiSectionsSection_id
description: ''
parameters: []
responses: { }
tags:
- 'Class Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
section_name:
type: string
description: 'Must not be greater than 10 characters.'
example: bngzmi
nullable: true
class_id:
type: integer
description: 'The class_id of an existing record in the classes table.'
example: 16
nullable: true
capacity:
type: integer
description: 'Must be at least 0.'
example: 39
nullable: true
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
is_active:
type: boolean
description: ''
example: false
security: []
delete:
summary: ''
operationId: deleteApiSectionsSection_id
description: ''
parameters: []
responses: { }
tags:
- 'Class Management'
security: []
parameters:
-
in: path
name: section_id
description: 'The ID of the section.'
example: 1
required: true
schema:
type: integer
/api/batches:
get:
summary: ''
operationId: getApiBatches
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Class Management'
security: []
post:
summary: ''
operationId: postApiBatches
description: ''
parameters: []
responses: { }
tags:
- 'Class Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
class_id:
type: integer
description: 'The class_id of an existing record in the classes table.'
example: 16
section_id:
type: integer
description: 'The section_id of an existing record in the sections table.'
example: 16
academic_year_id:
type: integer
description: 'The academic_year_id of an existing record in the academic_years table.'
example: 16
nullable: true
batch_name:
type: string
description: 'Must not be greater than 100 characters.'
example: 'n'
batch_code:
type: string
description: 'Must not be greater than 20 characters.'
example: gzmiyvdljnikhway
nullable: true
start_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
nullable: true
end_date:
type: string
description: 'Must be a valid date. Must be a date after start_date.'
example: '2052-05-26'
nullable: true
is_active:
type: boolean
description: ''
example: true
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
required:
- class_id
- section_id
- batch_name
security: []
'/api/batches/{batch_id}':
get:
summary: ''
operationId: getApiBatchesBatch_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Class Management'
security: []
put:
summary: ''
operationId: putApiBatchesBatch_id
description: ''
parameters: []
responses: { }
tags:
- 'Class Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
class_id:
type: integer
description: 'The class_id of an existing record in the classes table.'
example: 16
nullable: true
section_id:
type: integer
description: 'The section_id of an existing record in the sections table.'
example: 16
nullable: true
academic_year_id:
type: integer
description: 'The academic_year_id of an existing record in the academic_years table.'
example: 16
nullable: true
batch_name:
type: string
description: 'Must not be greater than 100 characters.'
example: 'n'
nullable: true
batch_code:
type: string
description: ''
example: null
start_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
nullable: true
end_date:
type: string
description: 'Must be a valid date. Must be a date after start_date.'
example: '2052-05-26'
nullable: true
start_time:
type: string
description: 'Must be a valid date in the format H:i.'
example: '17:54'
nullable: true
end_time:
type: string
description: 'Must be a valid date in the format H:i. Must be a date after start_time.'
example: '2052-05-26'
nullable: true
is_active:
type: boolean
description: ''
example: false
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
security: []
delete:
summary: ''
operationId: deleteApiBatchesBatch_id
description: ''
parameters: []
responses: { }
tags:
- 'Class Management'
security: []
parameters:
-
in: path
name: batch_id
description: 'The ID of the batch.'
example: 1
required: true
schema:
type: integer
/api/academic-years:
get:
summary: ''
operationId: getApiAcademicYears
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Class Management'
security: []
post:
summary: ''
operationId: postApiAcademicYears
description: ''
parameters: []
responses: { }
tags:
- 'Class Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
year_range:
type: string
description: 'Must not be greater than 20 characters.'
example: bngzmiyvdljnikhw
start_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
end_date:
type: string
description: 'Must be a valid date. Must be a date after start_date.'
example: '2052-05-26'
is_current:
type: boolean
description: ''
example: false
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
required:
- year_range
- start_date
- end_date
security: []
'/api/academic-years/{academic_year_id}':
get:
summary: ''
operationId: getApiAcademicYearsAcademic_year_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Class Management'
security: []
put:
summary: ''
operationId: putApiAcademicYearsAcademic_year_id
description: ''
parameters: []
responses: { }
tags:
- 'Class Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
year_range:
type: string
description: ''
example: null
start_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
nullable: true
end_date:
type: string
description: 'Must be a valid date. Must be a date after start_date.'
example: '2052-05-26'
nullable: true
is_current:
type: boolean
description: ''
example: false
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
security: []
delete:
summary: ''
operationId: deleteApiAcademicYearsAcademic_year_id
description: ''
parameters: []
responses: { }
tags:
- 'Class Management'
security: []
parameters:
-
in: path
name: academic_year_id
description: 'The ID of the academic year.'
example: 1
required: true
schema:
type: integer
/api/message:
get:
summary: ''
operationId: getApiMessage
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Communication Management'
security: []
post:
summary: ''
operationId: postApiMessage
description: ''
parameters: []
responses: { }
tags:
- 'Communication Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
description: 'Must not be greater than 150 characters.'
example: b
nullable: true
content:
type: string
description: ''
example: architecto
message_type:
type: string
description: ''
example: 'App Notification'
enum:
- SMS
- Email
- 'App Notification'
- Circular
- Announcement
created_by:
type: string
description: 'The id of an existing record in the users table.'
example: null
nullable: true
scheduled_at:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
nullable: true
priority:
type: string
description: ''
example: Normal
enum:
- Low
- Normal
- High
- Urgent
is_sent:
type: boolean
description: ''
example: true
required:
- content
- message_type
- priority
security: []
'/api/message/{message_id}':
get:
summary: ''
operationId: getApiMessageMessage_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Communication Management'
security: []
put:
summary: ''
operationId: putApiMessageMessage_id
description: ''
parameters: []
responses: { }
tags:
- 'Communication Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
description: 'Must not be greater than 150 characters.'
example: b
nullable: true
content:
type: string
description: ''
example: architecto
message_type:
type: string
description: ''
example: Email
enum:
- SMS
- Email
- 'App Notification'
- Circular
- Announcement
created_by:
type: string
description: 'The id of an existing record in the users table.'
example: null
nullable: true
scheduled_at:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
nullable: true
priority:
type: string
description: ''
example: Low
enum:
- Low
- Normal
- High
- Urgent
is_sent:
type: boolean
description: ''
example: false
required:
- content
- message_type
- priority
security: []
delete:
summary: ''
operationId: deleteApiMessageMessage_id
description: ''
parameters: []
responses: { }
tags:
- 'Communication Management'
security: []
parameters:
-
in: path
name: message_id
description: 'The ID of the message.'
example: 1
required: true
schema:
type: integer
/api/messageRecipient:
get:
summary: ''
operationId: getApiMessageRecipient
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Communication Management'
security: []
post:
summary: ''
operationId: postApiMessageRecipient
description: ''
parameters: []
responses: { }
tags:
- 'Communication Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
message_id:
type: string
description: 'The message_id of an existing record in the messages table.'
example: architecto
user_id:
type: string
description: 'The id of an existing record in the users table.'
example: architecto
status:
type: string
description: ''
example: Pending
enum:
- Pending
- Sent
- Failed
- Read
delivered_at:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
nullable: true
read_at:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
nullable: true
required:
- message_id
- user_id
- status
security: []
'/api/messageRecipient/{recipient_id}':
get:
summary: ''
operationId: getApiMessageRecipientRecipient_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Communication Management'
security: []
put:
summary: ''
operationId: putApiMessageRecipientRecipient_id
description: ''
parameters: []
responses: { }
tags:
- 'Communication Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
message_id:
type: string
description: 'The message_id of an existing record in the messages table.'
example: architecto
user_id:
type: string
description: 'The id of an existing record in the users table.'
example: architecto
status:
type: string
description: ''
example: Failed
enum:
- Pending
- Sent
- Failed
- Read
delivered_at:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
nullable: true
read_at:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
nullable: true
required:
- message_id
- user_id
- status
security: []
delete:
summary: ''
operationId: deleteApiMessageRecipientRecipient_id
description: ''
parameters: []
responses: { }
tags:
- 'Communication Management'
security: []
parameters:
-
in: path
name: recipient_id
description: 'The ID of the recipient.'
example: 1
required: true
schema:
type: integer
/api/circular:
get:
summary: ''
operationId: getApiCircular
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Communication Management'
security: []
post:
summary: ''
operationId: postApiCircular
description: ''
parameters: []
responses: { }
tags:
- 'Communication Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
description: 'Must not be greater than 150 characters.'
example: b
content:
type: string
description: ''
example: architecto
issued_by:
type: string
description: 'The id of an existing record in the users table.'
example: null
nullable: true
issued_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
target_audience:
type: string
description: ''
example: Teachers
enum:
- All
- Students
- Parents
- Teachers
- Staff
attachment_url:
type: string
description: 'Must not be greater than 255 characters.'
example: 'http://bailey.com/'
nullable: true
required:
- title
- content
- issued_date
- target_audience
security: []
'/api/circular/{circular_id}':
get:
summary: ''
operationId: getApiCircularCircular_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Communication Management'
security: []
put:
summary: ''
operationId: putApiCircularCircular_id
description: ''
parameters: []
responses: { }
tags:
- 'Communication Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
description: 'Must not be greater than 150 characters.'
example: b
content:
type: string
description: ''
example: architecto
issued_by:
type: string
description: 'The id of an existing record in the users table.'
example: null
nullable: true
issued_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
target_audience:
type: string
description: ''
example: All
enum:
- All
- Students
- Parents
- Teachers
- Staff
attachment_url:
type: string
description: 'Must not be greater than 255 characters.'
example: 'http://bailey.com/'
nullable: true
required:
- title
- content
- issued_date
- target_audience
security: []
delete:
summary: ''
operationId: deleteApiCircularCircular_id
description: ''
parameters: []
responses: { }
tags:
- 'Communication Management'
security: []
parameters:
-
in: path
name: circular_id
description: 'The ID of the circular.'
example: 1
required: true
schema:
type: integer
/api/notificationSetting:
get:
summary: ''
operationId: getApiNotificationSetting
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Communication Management'
security: []
post:
summary: ''
operationId: postApiNotificationSetting
description: ''
parameters: []
responses: { }
tags:
- 'Communication Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
user_id:
type: string
description: 'The id of an existing record in the users table.'
example: architecto
allow_sms:
type: boolean
description: ''
example: true
allow_email:
type: boolean
description: ''
example: false
allow_app:
type: boolean
description: ''
example: false
allow_announcements:
type: boolean
description: ''
example: false
allow_circulars:
type: boolean
description: ''
example: true
required:
- user_id
security: []
'/api/notificationSetting/{setting_id}':
get:
summary: ''
operationId: getApiNotificationSettingSetting_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Communication Management'
security: []
put:
summary: ''
operationId: putApiNotificationSettingSetting_id
description: ''
parameters: []
responses: { }
tags:
- 'Communication Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
allow_sms:
type: boolean
description: ''
example: false
allow_email:
type: boolean
description: ''
example: true
allow_app:
type: boolean
description: ''
example: false
allow_announcements:
type: boolean
description: ''
example: false
allow_circulars:
type: boolean
description: ''
example: true
security: []
delete:
summary: ''
operationId: deleteApiNotificationSettingSetting_id
description: ''
parameters: []
responses: { }
tags:
- 'Communication Management'
security: []
parameters:
-
in: path
name: setting_id
description: 'The ID of the setting.'
example: 1
required: true
schema:
type: integer
/api/exam:
get:
summary: ''
operationId: getApiExam
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Exam Management'
security: []
post:
summary: ''
operationId: postApiExam
description: ''
parameters: []
responses: { }
tags:
- 'Exam Management'
security: []
'/api/exam/{exam_id}':
get:
summary: ''
operationId: getApiExamExam_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Exam Management'
security: []
put:
summary: ''
operationId: putApiExamExam_id
description: ''
parameters: []
responses: { }
tags:
- 'Exam Management'
security: []
delete:
summary: ''
operationId: deleteApiExamExam_id
description: ''
parameters: []
responses: { }
tags:
- 'Exam Management'
security: []
parameters:
-
in: path
name: exam_id
description: 'The ID of the exam.'
example: 1
required: true
schema:
type: integer
/api/examSchedule:
get:
summary: ''
operationId: getApiExamSchedule
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Exam Management'
security: []
post:
summary: ''
operationId: postApiExamSchedule
description: ''
parameters: []
responses: { }
tags:
- 'Exam Management'
security: []
'/api/examSchedule/{schedule_id}':
get:
summary: ''
operationId: getApiExamScheduleSchedule_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Exam Management'
security: []
put:
summary: ''
operationId: putApiExamScheduleSchedule_id
description: ''
parameters: []
responses: { }
tags:
- 'Exam Management'
security: []
delete:
summary: ''
operationId: deleteApiExamScheduleSchedule_id
description: ''
parameters: []
responses: { }
tags:
- 'Exam Management'
security: []
parameters:
-
in: path
name: schedule_id
description: 'The ID of the schedule.'
example: 1
required: true
schema:
type: integer
/api/gradingScheme:
get:
summary: ''
operationId: getApiGradingScheme
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Exam Management'
security: []
post:
summary: ''
operationId: postApiGradingScheme
description: ''
parameters: []
responses: { }
tags:
- 'Exam Management'
security: []
'/api/gradingScheme/{grading_id}':
get:
summary: ''
operationId: getApiGradingSchemeGrading_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Exam Management'
security: []
put:
summary: ''
operationId: putApiGradingSchemeGrading_id
description: ''
parameters: []
responses: { }
tags:
- 'Exam Management'
security: []
delete:
summary: ''
operationId: deleteApiGradingSchemeGrading_id
description: ''
parameters: []
responses: { }
tags:
- 'Exam Management'
security: []
parameters:
-
in: path
name: grading_id
description: 'The ID of the grading.'
example: 1
required: true
schema:
type: integer
/api/studentMark:
get:
summary: ''
operationId: getApiStudentMark
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Exam Management'
security: []
post:
summary: ''
operationId: postApiStudentMark
description: ''
parameters: []
responses: { }
tags:
- 'Exam Management'
security: []
'/api/studentMark/{mark_id}':
get:
summary: ''
operationId: getApiStudentMarkMark_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Exam Management'
security: []
put:
summary: ''
operationId: putApiStudentMarkMark_id
description: ''
parameters: []
responses: { }
tags:
- 'Exam Management'
security: []
delete:
summary: ''
operationId: deleteApiStudentMarkMark_id
description: ''
parameters: []
responses: { }
tags:
- 'Exam Management'
security: []
parameters:
-
in: path
name: mark_id
description: 'The ID of the mark.'
example: 1
required: true
schema:
type: integer
/api/studentReportCard:
get:
summary: ''
operationId: getApiStudentReportCard
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Exam Management'
security: []
post:
summary: ''
operationId: postApiStudentReportCard
description: ''
parameters: []
responses: { }
tags:
- 'Exam Management'
security: []
'/api/studentReportCard/{report_card_id}':
get:
summary: ''
operationId: getApiStudentReportCardReport_card_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Exam Management'
security: []
put:
summary: ''
operationId: putApiStudentReportCardReport_card_id
description: ''
parameters: []
responses: { }
tags:
- 'Exam Management'
security: []
delete:
summary: ''
operationId: deleteApiStudentReportCardReport_card_id
description: ''
parameters: []
responses: { }
tags:
- 'Exam Management'
security: []
parameters:
-
in: path
name: report_card_id
description: 'The ID of the report card.'
example: 1
required: true
schema:
type: integer
/api/feeCategory:
get:
summary: ''
operationId: getApiFeeCategory
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Fee Management'
security: []
post:
summary: ''
operationId: postApiFeeCategory
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
'/api/feeCategory/{fee_category_id}':
get:
summary: ''
operationId: getApiFeeCategoryFee_category_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Fee Management'
security: []
put:
summary: ''
operationId: putApiFeeCategoryFee_category_id
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
delete:
summary: ''
operationId: deleteApiFeeCategoryFee_category_id
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
parameters:
-
in: path
name: fee_category_id
description: 'The ID of the fee category.'
example: 1
required: true
schema:
type: integer
/api/feeStructure:
get:
summary: ''
operationId: getApiFeeStructure
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Fee Management'
security: []
post:
summary: ''
operationId: postApiFeeStructure
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
'/api/feeStructure/{fee_structure_id}':
get:
summary: ''
operationId: getApiFeeStructureFee_structure_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Fee Management'
security: []
put:
summary: ''
operationId: putApiFeeStructureFee_structure_id
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
delete:
summary: ''
operationId: deleteApiFeeStructureFee_structure_id
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
parameters:
-
in: path
name: fee_structure_id
description: 'The ID of the fee structure.'
example: 1
required: true
schema:
type: integer
/api/studentFee:
get:
summary: ''
operationId: getApiStudentFee
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Fee Management'
security: []
post:
summary: ''
operationId: postApiStudentFee
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
'/api/studentFee/{student_fee_id}':
get:
summary: ''
operationId: getApiStudentFeeStudent_fee_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Fee Management'
security: []
put:
summary: ''
operationId: putApiStudentFeeStudent_fee_id
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
delete:
summary: ''
operationId: deleteApiStudentFeeStudent_fee_id
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
parameters:
-
in: path
name: student_fee_id
description: 'The ID of the student fee.'
example: 1
required: true
schema:
type: integer
/api/feePayment:
get:
summary: ''
operationId: getApiFeePayment
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Fee Management'
security: []
post:
summary: ''
operationId: postApiFeePayment
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
'/api/feePayment/{payment_id}':
get:
summary: ''
operationId: getApiFeePaymentPayment_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Fee Management'
security: []
put:
summary: ''
operationId: putApiFeePaymentPayment_id
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
delete:
summary: ''
operationId: deleteApiFeePaymentPayment_id
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
parameters:
-
in: path
name: payment_id
description: 'The ID of the payment.'
example: 1
required: true
schema:
type: integer
/api/discount:
get:
summary: ''
operationId: getApiDiscount
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Fee Management'
security: []
post:
summary: ''
operationId: postApiDiscount
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
'/api/discount/{discount_id}':
get:
summary: ''
operationId: getApiDiscountDiscount_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Fee Management'
security: []
put:
summary: ''
operationId: putApiDiscountDiscount_id
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
delete:
summary: ''
operationId: deleteApiDiscountDiscount_id
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
parameters:
-
in: path
name: discount_id
description: 'The ID of the discount.'
example: 1
required: true
schema:
type: integer
/api/studentDiscount:
get:
summary: ''
operationId: getApiStudentDiscount
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Fee Management'
security: []
post:
summary: ''
operationId: postApiStudentDiscount
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
'/api/studentDiscount/{student_discount_id}':
get:
summary: ''
operationId: getApiStudentDiscountStudent_discount_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Fee Management'
security: []
put:
summary: ''
operationId: putApiStudentDiscountStudent_discount_id
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
delete:
summary: ''
operationId: deleteApiStudentDiscountStudent_discount_id
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
parameters:
-
in: path
name: student_discount_id
description: 'The ID of the student discount.'
example: 1
required: true
schema:
type: integer
/api/expense:
get:
summary: ''
operationId: getApiExpense
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Fee Management'
security: []
post:
summary: ''
operationId: postApiExpense
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
'/api/expense/{expense_id}':
get:
summary: ''
operationId: getApiExpenseExpense_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Fee Management'
security: []
put:
summary: ''
operationId: putApiExpenseExpense_id
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
delete:
summary: ''
operationId: deleteApiExpenseExpense_id
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
parameters:
-
in: path
name: expense_id
description: 'The ID of the expense.'
example: 1
required: true
schema:
type: integer
/api/financialReport:
get:
summary: ''
operationId: getApiFinancialReport
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Fee Management'
security: []
post:
summary: ''
operationId: postApiFinancialReport
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
'/api/financialReport/{report_id}':
get:
summary: ''
operationId: getApiFinancialReportReport_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Fee Management'
security: []
put:
summary: ''
operationId: putApiFinancialReportReport_id
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
delete:
summary: ''
operationId: deleteApiFinancialReportReport_id
description: ''
parameters: []
responses: { }
tags:
- 'Fee Management'
security: []
parameters:
-
in: path
name: report_id
description: 'The ID of the report.'
example: 1
required: true
schema:
type: integer
/api/hostels:
get:
summary: ''
operationId: getApiHostels
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Hostel & Transport Management'
security: []
post:
summary: ''
operationId: postApiHostels
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
hostel_name:
type: string
description: 'Must not be greater than 100 characters.'
example: b
hostel_type:
type: string
description: ''
example: Co-ed
enum:
- Boys
- Girls
- Co-ed
total_capacity:
type: integer
description: 'Must be at least 1.'
example: 22
available_capacity:
type: integer
description: 'Must be at least 0.'
example: 84
location:
type: string
description: 'Must not be greater than 100 characters.'
example: z
nullable: true
required:
- hostel_name
- hostel_type
- total_capacity
- available_capacity
security: []
'/api/hostels/{hostel_id}':
get:
summary: ''
operationId: getApiHostelsHostel_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Hostel & Transport Management'
security: []
put:
summary: ''
operationId: putApiHostelsHostel_id
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
hostel_name:
type: string
description: 'Must not be greater than 100 characters.'
example: b
hostel_type:
type: string
description: ''
example: Co-ed
enum:
- Boys
- Girls
- Co-ed
total_capacity:
type: integer
description: 'Must be at least 1.'
example: 22
available_capacity:
type: integer
description: 'Must be at least 0.'
example: 84
location:
type: string
description: 'Must not be greater than 100 characters.'
example: z
nullable: true
security: []
delete:
summary: ''
operationId: deleteApiHostelsHostel_id
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
security: []
parameters:
-
in: path
name: hostel_id
description: 'The ID of the hostel.'
example: 1
required: true
schema:
type: integer
/api/hostel-rooms:
get:
summary: ''
operationId: getApiHostelRooms
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Hostel & Transport Management'
security: []
post:
summary: ''
operationId: postApiHostelRooms
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
hostel_id:
type: integer
description: 'The hostel_id of an existing record in the hostels table.'
example: 16
room_number:
type: string
description: 'Must not be greater than 10 characters.'
example: ngzmiy
room_type:
type: string
description: ''
example: Single
enum:
- Single
- Double
- Triple
- Quad
capacity:
type: integer
description: 'Must be at least 1.'
example: 16
occupied:
type: integer
description: 'Must be at least 0.'
example: 42
nullable: true
required:
- hostel_id
- room_number
- room_type
- capacity
security: []
'/api/hostel-rooms/{room_room_id}':
get:
summary: ''
operationId: getApiHostelRoomsRoom_room_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Hostel & Transport Management'
security: []
put:
summary: ''
operationId: putApiHostelRoomsRoom_room_id
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
hostel_id:
type: integer
description: 'The hostel_id of an existing record in the hostels table.'
example: 16
room_number:
type: string
description: 'Must not be greater than 10 characters.'
example: ngzmiy
room_type:
type: string
description: ''
example: Triple
enum:
- Single
- Double
- Triple
- Quad
capacity:
type: integer
description: 'Must be at least 1.'
example: 16
occupied:
type: integer
description: 'Must be at least 0.'
example: 42
nullable: true
security: []
delete:
summary: ''
operationId: deleteApiHostelRoomsRoom_room_id
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
security: []
parameters:
-
in: path
name: room_room_id
description: 'The ID of the room room.'
example: 1
required: true
schema:
type: integer
/api/student-hostels:
get:
summary: ''
operationId: getApiStudentHostels
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Hostel & Transport Management'
security: []
post:
summary: ''
operationId: postApiStudentHostels
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
student_id:
type: integer
description: ''
example: 16
hostel_id:
type: integer
description: 'The hostel_id of an existing record in the hostels table.'
example: 16
room_id:
type: integer
description: 'The room_id of an existing record in the rooms table.'
example: 16
assigned_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
checkout_date:
type: string
description: 'Must be a valid date. Must be a date after or equal to assigned_date.'
example: '2052-05-26'
nullable: true
required:
- student_id
- hostel_id
- room_id
- assigned_date
security: []
'/api/student-hostels/{studentHostel_id}':
get:
summary: ''
operationId: getApiStudentHostelsStudentHostel_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Hostel & Transport Management'
security: []
put:
summary: ''
operationId: putApiStudentHostelsStudentHostel_id
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
student_id:
type: integer
description: ''
example: 16
hostel_id:
type: integer
description: 'The hostel_id of an existing record in the hostels table.'
example: 16
room_id:
type: integer
description: 'The room_id of an existing record in the rooms table.'
example: 16
assigned_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
checkout_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
nullable: true
security: []
delete:
summary: ''
operationId: deleteApiStudentHostelsStudentHostel_id
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
security: []
parameters:
-
in: path
name: studentHostel_id
description: 'The ID of the studentHostel.'
example: 1
required: true
schema:
type: integer
/api/transportation:
get:
summary: ''
operationId: getApiTransportation
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Hostel & Transport Management'
security: []
post:
summary: ''
operationId: postApiTransportation
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
transport_name:
type: string
description: 'Must not be greater than 100 characters.'
example: b
transport_type:
type: string
description: ''
example: Van
enum:
- Bus
- Van
- Shuttle
capacity:
type: integer
description: 'Must be at least 1.'
example: 22
route:
type: string
description: 'Must not be greater than 255 characters.'
example: g
nullable: true
departure_time:
type: string
description: 'Must be a valid date in the format H:i.'
example: '17:54'
nullable: true
required:
- transport_name
- transport_type
- capacity
security: []
'/api/transportation/{transport_id}':
get:
summary: ''
operationId: getApiTransportationTransport_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Hostel & Transport Management'
security: []
put:
summary: ''
operationId: putApiTransportationTransport_id
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
transport_name:
type: string
description: 'Must not be greater than 100 characters.'
example: b
transport_type:
type: string
description: ''
example: Shuttle
enum:
- Bus
- Van
- Shuttle
capacity:
type: integer
description: 'Must be at least 1.'
example: 22
route:
type: string
description: 'Must not be greater than 255 characters.'
example: g
nullable: true
departure_time:
type: string
description: 'Must be a valid date in the format H:i.'
example: '17:54'
nullable: true
security: []
delete:
summary: ''
operationId: deleteApiTransportationTransport_id
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
security: []
parameters:
-
in: path
name: transport_id
description: 'The ID of the transport.'
example: 1
required: true
schema:
type: integer
/api/student-transport:
get:
summary: ''
operationId: getApiStudentTransport
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Hostel & Transport Management'
security: []
post:
summary: ''
operationId: postApiStudentTransport
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
student_id:
type: integer
description: ''
example: 16
transport_id:
type: integer
description: 'The transport_id of an existing record in the transportation table.'
example: 16
pickup_location:
type: string
description: 'Must not be greater than 255 characters.'
example: 'n'
nullable: true
drop_location:
type: string
description: 'Must not be greater than 255 characters.'
example: g
nullable: true
assigned_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
leave_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
nullable: true
required:
- student_id
- transport_id
- assigned_date
security: []
'/api/student-transport/{studentTransport_id}':
get:
summary: ''
operationId: getApiStudentTransportStudentTransport_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Hostel & Transport Management'
security: []
put:
summary: ''
operationId: putApiStudentTransportStudentTransport_id
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
student_id:
type: integer
description: ''
example: 16
transport_id:
type: integer
description: 'The transport_id of an existing record in the transportation table.'
example: 16
pickup_location:
type: string
description: 'Must not be greater than 255 characters.'
example: 'n'
nullable: true
drop_location:
type: string
description: 'Must not be greater than 255 characters.'
example: g
nullable: true
assigned_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
leave_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
nullable: true
security: []
delete:
summary: ''
operationId: deleteApiStudentTransportStudentTransport_id
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
security: []
parameters:
-
in: path
name: studentTransport_id
description: 'The ID of the studentTransport.'
example: 1
required: true
schema:
type: integer
/api/facilities:
get:
summary: ''
operationId: getApiFacilities
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Hostel & Transport Management'
security: []
post:
summary: ''
operationId: postApiFacilities
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
facility_name:
type: string
description: 'Must not be greater than 100 characters.'
example: b
facility_type:
type: string
description: ''
example: Sports
enum:
- Sports
- Library
- Cafeteria
- Lab
location:
type: string
description: 'Must not be greater than 100 characters.'
example: 'n'
nullable: true
capacity:
type: integer
description: 'Must be at least 1.'
example: 67
available_capacity:
type: integer
description: 'Must be at least 0.'
example: 12
required:
- facility_name
- facility_type
- capacity
- available_capacity
security: []
'/api/facilities/{facility_id}':
get:
summary: ''
operationId: getApiFacilitiesFacility_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Hostel & Transport Management'
security: []
put:
summary: ''
operationId: putApiFacilitiesFacility_id
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
facility_name:
type: string
description: 'Must not be greater than 100 characters.'
example: b
facility_type:
type: string
description: ''
example: Cafeteria
enum:
- Sports
- Library
- Cafeteria
- Lab
location:
type: string
description: 'Must not be greater than 100 characters.'
example: 'n'
nullable: true
capacity:
type: integer
description: 'Must be at least 1.'
example: 67
available_capacity:
type: integer
description: 'Must be at least 0.'
example: 12
security: []
delete:
summary: ''
operationId: deleteApiFacilitiesFacility_id
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
security: []
parameters:
-
in: path
name: facility_id
description: 'The ID of the facility.'
example: 1
required: true
schema:
type: integer
/api/facility-bookings:
get:
summary: ''
operationId: getApiFacilityBookings
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Hostel & Transport Management'
security: []
post:
summary: ''
operationId: postApiFacilityBookings
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
student_id:
type: integer
description: ''
example: 16
facility_id:
type: integer
description: 'The facility_id of an existing record in the facility_management table.'
example: 16
booking_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
start_time:
type: string
description: 'Must be a valid date in the format H:i.'
example: '17:54'
end_time:
type: string
description: 'Must be a valid date in the format H:i. Must be a date after start_time.'
example: '2052-05-26'
required:
- student_id
- facility_id
- booking_date
- start_time
- end_time
security: []
'/api/facility-bookings/{facilityBooking_booking_id}':
get:
summary: ''
operationId: getApiFacilityBookingsFacilityBooking_booking_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Hostel & Transport Management'
security: []
put:
summary: ''
operationId: putApiFacilityBookingsFacilityBooking_booking_id
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
student_id:
type: integer
description: ''
example: 16
facility_id:
type: integer
description: 'The facility_id of an existing record in the facility_management table.'
example: 16
booking_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
start_time:
type: string
description: 'Must be a valid date in the format H:i.'
example: '17:54'
end_time:
type: string
description: 'Must be a valid date in the format H:i.'
example: '17:54'
security: []
delete:
summary: ''
operationId: deleteApiFacilityBookingsFacilityBooking_booking_id
description: ''
parameters: []
responses: { }
tags:
- 'Hostel & Transport Management'
security: []
parameters:
-
in: path
name: facilityBooking_booking_id
description: 'The ID of the facilityBooking booking.'
example: 1
required: true
schema:
type: integer
/api/roles:
get:
summary: ''
operationId: getApiRoles
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'RBAC Management'
security: []
post:
summary: ''
operationId: postApiRoles
description: ''
parameters: []
responses: { }
tags:
- 'RBAC Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Must not be greater than 50 characters.'
example: b
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
required:
- name
security: []
'/api/roles/{id}':
get:
summary: ''
operationId: getApiRolesId
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'RBAC Management'
security: []
put:
summary: ''
operationId: putApiRolesId
description: ''
parameters: []
responses: { }
tags:
- 'RBAC Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: null
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
security: []
delete:
summary: ''
operationId: deleteApiRolesId
description: ''
parameters: []
responses: { }
tags:
- 'RBAC Management'
security: []
parameters:
-
in: path
name: id
description: 'The ID of the role.'
example: 1
required: true
schema:
type: integer
'/api/roles/{role_id}/sync-permissions':
put:
summary: ''
operationId: putApiRolesRole_idSyncPermissions
description: ''
parameters: []
responses: { }
tags:
- 'RBAC Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
permissions:
type: array
description: 'The id of an existing record in the permissions table.'
example: null
items:
type: string
security: []
parameters:
-
in: path
name: role_id
description: 'The ID of the role.'
example: 1
required: true
schema:
type: integer
/api/permissions:
get:
summary: ''
operationId: getApiPermissions
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'RBAC Management'
security: []
post:
summary: ''
operationId: postApiPermissions
description: ''
parameters: []
responses: { }
tags:
- 'RBAC Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Must not be greater than 100 characters.'
example: b
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
module_name:
type: string
description: 'Must not be greater than 100 characters.'
example: v
nullable: true
required:
- name
security: []
'/api/permissions/{id}':
get:
summary: ''
operationId: getApiPermissionsId
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'RBAC Management'
security: []
put:
summary: ''
operationId: putApiPermissionsId
description: ''
parameters: []
responses: { }
tags:
- 'RBAC Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: null
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
module_name:
type: string
description: 'Must not be greater than 100 characters.'
example: v
nullable: true
security: []
delete:
summary: ''
operationId: deleteApiPermissionsId
description: ''
parameters: []
responses: { }
tags:
- 'RBAC Management'
security: []
parameters:
-
in: path
name: id
description: 'The ID of the permission.'
example: 1
required: true
schema:
type: integer
/api/role-permissions:
get:
summary: ''
operationId: getApiRolePermissions
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'RBAC Management'
security: []
'/api/role-permissions/{role_id}':
get:
summary: ''
operationId: getApiRolePermissionsRole_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'RBAC Management'
security: []
put:
summary: ''
operationId: putApiRolePermissionsRole_id
description: ''
parameters: []
responses: { }
tags:
- 'RBAC Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
permissions:
type: array
description: 'The id of an existing record in the permissions table.'
example: null
items:
type: string
security: []
parameters:
-
in: path
name: role_id
description: 'The ID of the role.'
example: 1
required: true
schema:
type: integer
/api/user-roles:
get:
summary: ''
operationId: getApiUserRoles
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'RBAC Management'
security: []
'/api/user-roles/{user_id}':
get:
summary: ''
operationId: getApiUserRolesUser_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'RBAC Management'
security: []
put:
summary: ''
operationId: putApiUserRolesUser_id
description: ''
parameters: []
responses: { }
tags:
- 'RBAC Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
roles:
type: array
description: 'The id of an existing record in the roles table.'
example: null
items:
type: string
security: []
parameters:
-
in: path
name: user_id
description: 'The ID of the user.'
example: 1
required: true
schema:
type: integer
'/api/user-permissions/{user_id}':
get:
summary: ''
operationId: getApiUserPermissionsUser_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'RBAC Management'
security: []
put:
summary: ''
operationId: putApiUserPermissionsUser_id
description: ''
parameters: []
responses: { }
tags:
- 'RBAC Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
permissions:
type: array
description: 'The id of an existing record in the permissions table.'
example: null
items:
type: string
security: []
parameters:
-
in: path
name: user_id
description: 'The ID of the user.'
example: 1
required: true
schema:
type: integer
/api/staff/departments:
get:
summary: ''
operationId: getApiStaffDepartments
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Staff Management'
security: []
post:
summary: ''
operationId: postApiStaffDepartments
description: ''
parameters: []
responses: { }
tags:
- 'Staff Management'
security: []
/api/staff:
get:
summary: ''
operationId: getApiStaff
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Staff Management'
security: []
post:
summary: ''
operationId: postApiStaff
description: ''
parameters: []
responses: { }
tags:
- 'Staff Management'
security: []
'/api/staff/{staff_id}':
get:
summary: ''
operationId: getApiStaffStaff_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Staff Management'
security: []
put:
summary: ''
operationId: putApiStaffStaff_id
description: ''
parameters: []
responses: { }
tags:
- 'Staff Management'
security: []
delete:
summary: ''
operationId: deleteApiStaffStaff_id
description: ''
parameters: []
responses: { }
tags:
- 'Staff Management'
security: []
parameters:
-
in: path
name: staff_id
description: 'The ID of the staff.'
example: 1
required: true
schema:
type: integer
'/api/staff/{staff_staff_id}/attendance':
post:
summary: ''
operationId: postApiStaffStaff_staff_idAttendance
description: ''
parameters: []
responses: { }
tags:
- 'Staff Management'
security: []
parameters:
-
in: path
name: staff_staff_id
description: 'The ID of the staff staff.'
example: 1
required: true
schema:
type: integer
'/api/staff/{staff_staff_id}/salary':
post:
summary: ''
operationId: postApiStaffStaff_staff_idSalary
description: ''
parameters: []
responses: { }
tags:
- 'Staff Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
basic_salary:
type: number
description: 'Must be between 0 and 9999999.99.'
example: 1
allowances:
type: number
description: 'Must be between 0 and 9999999.99.'
example: 1
nullable: true
deductions:
type: number
description: 'Must be between 0 and 9999999.99.'
example: 0
nullable: true
net_salary:
type: number
description: 'Must be between 0 and 9999999.99.'
example: 1
nullable: true
payment_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
required:
- basic_salary
- payment_date
security: []
parameters:
-
in: path
name: staff_staff_id
description: 'The ID of the staff staff.'
example: 1
required: true
schema:
type: integer
'/api/staff/{staff_staff_id}/reviews':
post:
summary: ''
operationId: postApiStaffStaff_staff_idReviews
description: ''
parameters: []
responses: { }
tags:
- 'Staff Management'
security: []
parameters:
-
in: path
name: staff_staff_id
description: 'The ID of the staff staff.'
example: 1
required: true
schema:
type: integer
'/api/staff/{staff_staff_id}/leave-requests':
post:
summary: ''
operationId: postApiStaffStaff_staff_idLeaveRequests
description: ''
parameters: []
responses: { }
tags:
- 'Staff Management'
security: []
parameters:
-
in: path
name: staff_staff_id
description: 'The ID of the staff staff.'
example: 1
required: true
schema:
type: integer
/api/students:
get:
summary: ''
operationId: getApiStudents
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Student Management'
security: []
post:
summary: ''
operationId: postApiStudents
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
first_name:
type: string
description: 'Must not be greater than 100 characters.'
example: b
last_name:
type: string
description: 'Must not be greater than 100 characters.'
example: 'n'
date_of_birth:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
gender:
type: string
description: ''
example: Female
enum:
- Male
- Female
- Other
blood_group:
type: string
description: 'Must not be greater than 5 characters.'
example: g
nullable: true
nationality:
type: string
description: 'Must not be greater than 50 characters.'
example: z
nullable: true
religion:
type: string
description: 'Must not be greater than 50 characters.'
example: m
nullable: true
current_address:
type: string
description: ''
example: architecto
permanent_address:
type: string
description: ''
example: architecto
phone_number:
type: string
description: 'Must not be greater than 20 characters.'
example: ngzmiyvdljnikhwa
nullable: true
email:
type: string
description: 'Must be a valid email address. Must not be greater than 100 characters.'
example: breitenberg.gilbert@example.com
nullable: true
profile_photo:
type: string
description: 'Must not be greater than 255 characters.'
example: u
nullable: true
date_of_admission:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
admission_number:
type: string
description: 'Must not be greater than 50 characters.'
example: w
status:
type: string
description: ''
example: Graduated
enum:
- Active
- Inactive
- Graduated
- Transferred
father_name:
type: string
description: 'Parent info. Must not be greater than 100 characters.'
example: p
nullable: true
father_phone:
type: string
description: 'Must not be greater than 20 characters.'
example: wlvqwrsitcpscqld
nullable: true
father_email:
type: string
description: 'Must be a valid email address. Must not be greater than 100 characters.'
example: nstokes@example.org
nullable: true
father_occupation:
type: string
description: 'Must not be greater than 100 characters.'
example: w
nullable: true
mother_name:
type: string
description: 'Must not be greater than 100 characters.'
example: t
nullable: true
mother_phone:
type: string
description: 'Must not be greater than 20 characters.'
example: ujwvlxjklqppwqbe
nullable: true
mother_email:
type: string
description: 'Must be a valid email address. Must not be greater than 100 characters.'
example: kutch.cynthia@example.org
nullable: true
mother_occupation:
type: string
description: 'Must not be greater than 100 characters.'
example: q
nullable: true
guardian_name:
type: string
description: 'Must not be greater than 100 characters.'
example: i
nullable: true
guardian_relationship:
type: string
description: 'Must not be greater than 50 characters.'
example: t
nullable: true
guardian_phone:
type: string
description: 'Must not be greater than 20 characters.'
example: pxntltcvipojsaus
nullable: true
guardian_address:
type: string
description: ''
example: architecto
nullable: true
previous_educations:
type: array
description: 'Previous education.'
example: null
items:
type: object
nullable: true
properties:
school_name:
type: string
description: 'This field is required when previous_educations is present. Must not be greater than 150 characters.'
example: g
board:
type: string
description: 'This field is required when previous_educations is present. Must not be greater than 100 characters.'
example: z
class_completed:
type: string
description: 'This field is required when previous_educations is present. Must not be greater than 20 characters.'
example: miyvdljnikhwaykc
percentage:
type: number
description: 'Must be between 0 and 100.'
example: 0
nullable: true
year_of_passing:
type: string
description: 'This field is required when previous_educations is present. Must be 4 digits.'
example: '9775'
height_cm:
type: number
description: 'Health record. Must be between 0 and 250.'
example: 1
nullable: true
weight_kg:
type: number
description: 'Must be between 0 and 300.'
example: 0
nullable: true
allergies:
type: string
description: ''
example: architecto
nullable: true
medical_conditions:
type: string
description: ''
example: architecto
nullable: true
vaccination_status:
type: string
description: 'Must not be greater than 255 characters.'
example: 'n'
nullable: true
required:
- first_name
- last_name
- date_of_birth
- gender
- current_address
- permanent_address
- date_of_admission
- admission_number
security: []
'/api/students/{student_id}':
get:
summary: ''
operationId: getApiStudentsStudent_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Student Management'
security: []
put:
summary: ''
operationId: putApiStudentsStudent_id
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
first_name:
type: string
description: 'Must not be greater than 100 characters.'
example: b
nullable: true
last_name:
type: string
description: 'Must not be greater than 100 characters.'
example: 'n'
nullable: true
date_of_birth:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
nullable: true
gender:
type: string
description: ''
example: Other
enum:
- Male
- Female
- Other
blood_group:
type: string
description: 'Must not be greater than 5 characters.'
example: g
nullable: true
nationality:
type: string
description: 'Must not be greater than 50 characters.'
example: z
nullable: true
religion:
type: string
description: 'Must not be greater than 50 characters.'
example: m
nullable: true
current_address:
type: string
description: ''
example: architecto
nullable: true
permanent_address:
type: string
description: ''
example: architecto
nullable: true
phone_number:
type: string
description: 'Must not be greater than 20 characters.'
example: ngzmiyvdljnikhwa
nullable: true
email:
type: string
description: 'Must be a valid email address. Must not be greater than 100 characters.'
example: breitenberg.gilbert@example.com
nullable: true
profile_photo:
type: string
description: 'Must not be greater than 255 characters.'
example: u
nullable: true
date_of_admission:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
nullable: true
admission_number:
type: string
description: ''
example: null
status:
type: string
description: ''
example: Transferred
enum:
- Active
- Inactive
- Graduated
- Transferred
father_name:
type: string
description: 'Must not be greater than 100 characters.'
example: w
nullable: true
father_phone:
type: string
description: 'Must not be greater than 20 characters.'
example: pwlvqwrsitcpscql
nullable: true
father_email:
type: string
description: 'Must be a valid email address. Must not be greater than 100 characters.'
example: sleffler@example.org
nullable: true
father_occupation:
type: string
description: 'Must not be greater than 100 characters.'
example: r
nullable: true
mother_name:
type: string
description: 'Must not be greater than 100 characters.'
example: w
nullable: true
mother_phone:
type: string
description: 'Must not be greater than 20 characters.'
example: tujwvlxjklqppwqb
nullable: true
mother_email:
type: string
description: 'Must be a valid email address. Must not be greater than 100 characters.'
example: madisen51@example.net
nullable: true
mother_occupation:
type: string
description: 'Must not be greater than 100 characters.'
example: o
nullable: true
guardian_name:
type: string
description: 'Must not be greater than 100 characters.'
example: q
nullable: true
guardian_relationship:
type: string
description: 'Must not be greater than 50 characters.'
example: i
nullable: true
guardian_phone:
type: string
description: 'Must not be greater than 20 characters.'
example: tpxntltcvipojsau
nullable: true
guardian_address:
type: string
description: ''
example: architecto
nullable: true
height_cm:
type: number
description: 'Must be between 0 and 250.'
example: 1
nullable: true
weight_kg:
type: number
description: 'Must be between 0 and 300.'
example: 0
nullable: true
allergies:
type: string
description: ''
example: architecto
nullable: true
medical_conditions:
type: string
description: ''
example: architecto
nullable: true
vaccination_status:
type: string
description: 'Must not be greater than 255 characters.'
example: 'n'
nullable: true
previous_educations:
type: array
description: ''
example: null
items:
type: object
nullable: true
properties:
school_name:
type: string
description: 'Must not be greater than 150 characters.'
example: g
nullable: true
board:
type: string
description: 'Must not be greater than 100 characters.'
example: z
nullable: true
class_completed:
type: string
description: 'Must not be greater than 20 characters.'
example: miyvdljnikhwaykc
nullable: true
percentage:
type: number
description: 'Must be between 0 and 100.'
example: 0
nullable: true
year_of_passing:
type: string
description: 'Must be 4 digits.'
example: '9775'
nullable: true
contacts:
type: array
description: ''
example: null
items:
type: object
nullable: true
properties:
contact_type:
type: string
description: ''
example: emergency
enum:
- phone
- mobile
- emergency
- work
- fax
- other
nullable: true
contact_value:
type: string
description: 'Must not be greater than 100 characters.'
example: 'n'
nullable: true
is_primary:
type: boolean
description: ''
example: true
nullable: true
label:
type: string
description: 'Must not be greater than 50 characters.'
example: g
nullable: true
security: []
delete:
summary: ''
operationId: deleteApiStudentsStudent_id
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
security: []
parameters:
-
in: path
name: student_id
description: 'The ID of the student.'
example: 1
required: true
schema:
type: integer
'/api/students/{student_student_id}/parent':
post:
summary: ''
operationId: postApiStudentsStudent_student_idParent
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
father_name:
type: string
description: 'Must not be greater than 100 characters.'
example: b
nullable: true
father_phone:
type: string
description: 'Must not be greater than 20 characters.'
example: ngzmiyvdljnikhwa
nullable: true
father_email:
type: string
description: 'Must be a valid email address. Must not be greater than 100 characters.'
example: breitenberg.gilbert@example.com
nullable: true
father_occupation:
type: string
description: 'Must not be greater than 100 characters.'
example: u
nullable: true
mother_name:
type: string
description: 'Must not be greater than 100 characters.'
example: w
nullable: true
mother_phone:
type: string
description: 'Must not be greater than 20 characters.'
example: pwlvqwrsitcpscql
nullable: true
mother_email:
type: string
description: 'Must be a valid email address. Must not be greater than 100 characters.'
example: sleffler@example.org
nullable: true
mother_occupation:
type: string
description: 'Must not be greater than 100 characters.'
example: r
nullable: true
guardian_name:
type: string
description: 'Must not be greater than 100 characters.'
example: w
nullable: true
guardian_relationship:
type: string
description: 'Must not be greater than 50 characters.'
example: t
nullable: true
guardian_phone:
type: string
description: 'Must not be greater than 20 characters.'
example: ujwvlxjklqppwqbe
nullable: true
guardian_address:
type: string
description: ''
example: architecto
nullable: true
security: []
put:
summary: ''
operationId: putApiStudentsStudent_student_idParent
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
father_name:
type: string
description: 'Must not be greater than 100 characters.'
example: b
nullable: true
father_phone:
type: string
description: 'Must not be greater than 20 characters.'
example: ngzmiyvdljnikhwa
nullable: true
father_email:
type: string
description: 'Must be a valid email address. Must not be greater than 100 characters.'
example: breitenberg.gilbert@example.com
nullable: true
father_occupation:
type: string
description: 'Must not be greater than 100 characters.'
example: u
nullable: true
mother_name:
type: string
description: 'Must not be greater than 100 characters.'
example: w
nullable: true
mother_phone:
type: string
description: 'Must not be greater than 20 characters.'
example: pwlvqwrsitcpscql
nullable: true
mother_email:
type: string
description: 'Must be a valid email address. Must not be greater than 100 characters.'
example: sleffler@example.org
nullable: true
mother_occupation:
type: string
description: 'Must not be greater than 100 characters.'
example: r
nullable: true
guardian_name:
type: string
description: 'Must not be greater than 100 characters.'
example: w
nullable: true
guardian_relationship:
type: string
description: 'Must not be greater than 50 characters.'
example: t
nullable: true
guardian_phone:
type: string
description: 'Must not be greater than 20 characters.'
example: ujwvlxjklqppwqbe
nullable: true
guardian_address:
type: string
description: ''
example: architecto
nullable: true
security: []
parameters:
-
in: path
name: student_student_id
description: 'The ID of the student student.'
example: 1
required: true
schema:
type: integer
'/api/students/{student_student_id}/education':
post:
summary: ''
operationId: postApiStudentsStudent_student_idEducation
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
school_name:
type: string
description: 'Must not be greater than 150 characters.'
example: b
board:
type: string
description: 'Must not be greater than 100 characters.'
example: 'n'
class_completed:
type: string
description: 'Must not be greater than 20 characters.'
example: gzmiyvdljnikhway
percentage:
type: number
description: 'Must be between 0 and 100.'
example: 0
nullable: true
year_of_passing:
type: string
description: 'Must be 4 digits.'
example: '9775'
required:
- school_name
- board
- class_completed
- year_of_passing
security: []
parameters:
-
in: path
name: student_student_id
description: 'The ID of the student student.'
example: 1
required: true
schema:
type: integer
'/api/students/{student_student_id}/education/{education_education_id}':
put:
summary: ''
operationId: putApiStudentsStudent_student_idEducationEducation_education_id
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
school_name:
type: string
description: 'Must not be greater than 150 characters.'
example: b
nullable: true
board:
type: string
description: 'Must not be greater than 100 characters.'
example: 'n'
nullable: true
class_completed:
type: string
description: 'Must not be greater than 20 characters.'
example: gzmiyvdljnikhway
nullable: true
percentage:
type: number
description: 'Must be between 0 and 100.'
example: 0
nullable: true
year_of_passing:
type: string
description: 'Must be 4 digits.'
example: '9775'
nullable: true
security: []
delete:
summary: ''
operationId: deleteApiStudentsStudent_student_idEducationEducation_education_id
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
security: []
parameters:
-
in: path
name: student_student_id
description: 'The ID of the student student.'
example: 1
required: true
schema:
type: integer
-
in: path
name: education_education_id
description: 'The ID of the education education.'
example: 1
required: true
schema:
type: integer
'/api/students/{student_student_id}/health':
get:
summary: ''
operationId: getApiStudentsStudent_student_idHealth
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Student Management'
security: []
post:
summary: ''
operationId: postApiStudentsStudent_student_idHealth
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
height_cm:
type: number
description: 'Must be between 0 and 250.'
example: 1
nullable: true
weight_kg:
type: number
description: 'Must be between 0 and 300.'
example: 1
nullable: true
blood_group:
type: string
description: 'Must not be greater than 5 characters.'
example: g
nullable: true
allergies:
type: string
description: ''
example: architecto
nullable: true
medical_conditions:
type: string
description: ''
example: architecto
nullable: true
vaccination_status:
type: string
description: 'Must not be greater than 255 characters.'
example: 'n'
nullable: true
security: []
parameters:
-
in: path
name: student_student_id
description: 'The ID of the student student.'
example: 1
required: true
schema:
type: integer
'/api/students/{student_student_id}/health/{healthRecord_health_id}':
put:
summary: ''
operationId: putApiStudentsStudent_student_idHealthHealthRecord_health_id
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
height_cm:
type: number
description: 'Must be between 0 and 250.'
example: 1
nullable: true
weight_kg:
type: number
description: 'Must be between 0 and 300.'
example: 1
nullable: true
blood_group:
type: string
description: 'Must not be greater than 5 characters.'
example: g
nullable: true
allergies:
type: string
description: ''
example: architecto
nullable: true
medical_conditions:
type: string
description: ''
example: architecto
nullable: true
vaccination_status:
type: string
description: 'Must not be greater than 255 characters.'
example: 'n'
nullable: true
security: []
delete:
summary: ''
operationId: deleteApiStudentsStudent_student_idHealthHealthRecord_health_id
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
security: []
parameters:
-
in: path
name: student_student_id
description: 'The ID of the student student.'
example: 1
required: true
schema:
type: integer
-
in: path
name: healthRecord_health_id
description: 'The ID of the healthRecord health.'
example: 1
required: true
schema:
type: integer
'/api/students/{student_student_id}/enroll':
post:
summary: ''
operationId: postApiStudentsStudent_student_idEnroll
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
batch_id:
type: integer
description: 'The batch_id of an existing record in the batches table.'
example: 16
academic_year_id:
type: integer
description: 'The academic_year_id of an existing record in the academic_years table.'
example: 16
nullable: true
enrollment_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
status:
type: string
description: ''
example: Graduated
enum:
- Active
- Inactive
- Graduated
- Transferred
nullable: true
remarks:
type: string
description: ''
example: architecto
nullable: true
required:
- batch_id
- enrollment_date
security: []
parameters:
-
in: path
name: student_student_id
description: 'The ID of the student student.'
example: 1
required: true
schema:
type: integer
'/api/students/{student_student_id}/enrollment/{enrollment_enrollment_id}':
put:
summary: ''
operationId: putApiStudentsStudent_student_idEnrollmentEnrollment_enrollment_id
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
enrollment_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
nullable: true
status:
type: string
description: ''
example: Graduated
enum:
- Active
- Inactive
- Graduated
- Transferred
nullable: true
remarks:
type: string
description: ''
example: architecto
nullable: true
security: []
delete:
summary: ''
operationId: deleteApiStudentsStudent_student_idEnrollmentEnrollment_enrollment_id
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
security: []
parameters:
-
in: path
name: student_student_id
description: 'The ID of the student student.'
example: 1
required: true
schema:
type: integer
-
in: path
name: enrollment_enrollment_id
description: 'The ID of the enrollment enrollment.'
example: 1
required: true
schema:
type: integer
'/api/students/{student_student_id}/enrollments':
get:
summary: ''
operationId: getApiStudentsStudent_student_idEnrollments
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Student Management'
security: []
parameters:
-
in: path
name: student_student_id
description: 'The ID of the student student.'
example: 1
required: true
schema:
type: integer
'/api/students/{student_student_id}/promote':
post:
summary: ''
operationId: postApiStudentsStudent_student_idPromote
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
from_batch_id:
type: integer
description: 'The batch_id of an existing record in the batches table.'
example: 16
to_batch_id:
type: integer
description: 'The value and from_batch_id must be different. The batch_id of an existing record in the batches table.'
example: 16
from_academic_year_id:
type: integer
description: 'The academic_year_id of an existing record in the academic_years table.'
example: 16
nullable: true
to_academic_year_id:
type: integer
description: 'The academic_year_id of an existing record in the academic_years table.'
example: 16
nullable: true
promotion_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
remarks:
type: string
description: ''
example: architecto
nullable: true
required:
- from_batch_id
- to_batch_id
- promotion_date
security: []
parameters:
-
in: path
name: student_student_id
description: 'The ID of the student student.'
example: 1
required: true
schema:
type: integer
'/api/students/{student_student_id}/promotions':
get:
summary: ''
operationId: getApiStudentsStudent_student_idPromotions
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Student Management'
security: []
parameters:
-
in: path
name: student_student_id
description: 'The ID of the student student.'
example: 1
required: true
schema:
type: integer
'/api/students/{student_student_id}/promotion/{promotion_promotion_id}':
delete:
summary: ''
operationId: deleteApiStudentsStudent_student_idPromotionPromotion_promotion_id
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
security: []
parameters:
-
in: path
name: student_student_id
description: 'The ID of the student student.'
example: 1
required: true
schema:
type: integer
-
in: path
name: promotion_promotion_id
description: 'The ID of the promotion promotion.'
example: 16
required: true
schema:
type: integer
'/api/students/{student_student_id}/documents':
get:
summary: ''
operationId: getApiStudentsStudent_student_idDocuments
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Student Management'
security: []
post:
summary: ''
operationId: postApiStudentsStudent_student_idDocuments
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
document_type:
type: string
description: ''
example: id_proof
enum:
- birth_certificate
- transfer_certificate
- character_certificate
- previous_school_certificate
- medical_certificate
- passport
- id_proof
- address_proof
- photograph
- other
document_name:
type: string
description: 'Must not be greater than 255 characters.'
example: b
file_path:
type: string
description: 'Must not be greater than 500 characters.'
example: 'n'
file_size:
type: integer
description: ''
example: 16
nullable: true
mime_type:
type: string
description: 'Must not be greater than 100 characters.'
example: 'n'
nullable: true
uploaded_by:
type: integer
description: 'The id of an existing record in the users table.'
example: 16
nullable: true
notes:
type: string
description: ''
example: architecto
nullable: true
expiry_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
nullable: true
required:
- document_type
- document_name
- file_path
security: []
parameters:
-
in: path
name: student_student_id
description: 'The ID of the student student.'
example: 1
required: true
schema:
type: integer
'/api/students/{student_student_id}/document/{document_document_id}':
put:
summary: ''
operationId: putApiStudentsStudent_student_idDocumentDocument_document_id
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
document_type:
type: string
description: ''
example: passport
enum:
- birth_certificate
- transfer_certificate
- character_certificate
- previous_school_certificate
- medical_certificate
- passport
- id_proof
- address_proof
- photograph
- other
nullable: true
document_name:
type: string
description: 'Must not be greater than 255 characters.'
example: b
nullable: true
file_path:
type: string
description: 'Must not be greater than 500 characters.'
example: 'n'
nullable: true
file_size:
type: integer
description: ''
example: 16
nullable: true
mime_type:
type: string
description: 'Must not be greater than 100 characters.'
example: 'n'
nullable: true
notes:
type: string
description: ''
example: architecto
nullable: true
expiry_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:46'
nullable: true
security: []
delete:
summary: ''
operationId: deleteApiStudentsStudent_student_idDocumentDocument_document_id
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
security: []
parameters:
-
in: path
name: student_student_id
description: 'The ID of the student student.'
example: 1
required: true
schema:
type: integer
-
in: path
name: document_document_id
description: 'The ID of the document document.'
example: 1
required: true
schema:
type: integer
'/api/students/{student_student_id}/activities':
get:
summary: ''
operationId: getApiStudentsStudent_student_idActivities
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Student Management'
security: []
parameters:
-
in: path
name: student_student_id
description: 'The ID of the student student.'
example: 1
required: true
schema:
type: integer
'/api/students/{student_student_id}/contacts':
get:
summary: ''
operationId: getApiStudentsStudent_student_idContacts
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Student Management'
security: []
post:
summary: ''
operationId: postApiStudentsStudent_student_idContacts
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
contact_type:
type: string
description: ''
example: work
enum:
- phone
- mobile
- emergency
- work
- fax
- other
contact_value:
type: string
description: 'Must not be greater than 100 characters.'
example: b
is_primary:
type: boolean
description: ''
example: true
label:
type: string
description: 'Must not be greater than 50 characters.'
example: 'n'
nullable: true
required:
- contact_type
- contact_value
security: []
parameters:
-
in: path
name: student_student_id
description: 'The ID of the student student.'
example: 1
required: true
schema:
type: integer
'/api/students/{student_student_id}/contact/{contact_contact_id}':
put:
summary: ''
operationId: putApiStudentsStudent_student_idContactContact_contact_id
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
contact_type:
type: string
description: ''
example: mobile
enum:
- phone
- mobile
- emergency
- work
- fax
- other
nullable: true
contact_value:
type: string
description: 'Must not be greater than 100 characters.'
example: b
nullable: true
is_primary:
type: boolean
description: ''
example: true
label:
type: string
description: 'Must not be greater than 50 characters.'
example: 'n'
nullable: true
security: []
delete:
summary: ''
operationId: deleteApiStudentsStudent_student_idContactContact_contact_id
description: ''
parameters: []
responses: { }
tags:
- 'Student Management'
security: []
parameters:
-
in: path
name: student_student_id
description: 'The ID of the student student.'
example: 1
required: true
schema:
type: integer
-
in: path
name: contact_contact_id
description: 'The ID of the contact contact.'
example: 1
required: true
schema:
type: integer
/api/subject:
get:
summary: ''
operationId: getApiSubject
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Subject Management'
security: []
post:
summary: ''
operationId: postApiSubject
description: ''
parameters: []
responses: { }
tags:
- 'Subject Management'
security: []
'/api/subject/{subject_id}':
get:
summary: ''
operationId: getApiSubjectSubject_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Subject Management'
security: []
put:
summary: ''
operationId: putApiSubjectSubject_id
description: ''
parameters: []
responses: { }
tags:
- 'Subject Management'
security: []
delete:
summary: ''
operationId: deleteApiSubjectSubject_id
description: ''
parameters: []
responses: { }
tags:
- 'Subject Management'
security: []
parameters:
-
in: path
name: subject_id
description: 'The ID of the subject.'
example: 1
required: true
schema:
type: integer
/api/classSubject:
get:
summary: ''
operationId: getApiClassSubject
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Subject Management'
security: []
post:
summary: ''
operationId: postApiClassSubject
description: ''
parameters: []
responses: { }
tags:
- 'Subject Management'
security: []
'/api/classSubject/{class_subject_id}':
get:
summary: ''
operationId: getApiClassSubjectClass_subject_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Subject Management'
security: []
put:
summary: ''
operationId: putApiClassSubjectClass_subject_id
description: ''
parameters: []
responses: { }
tags:
- 'Subject Management'
security: []
delete:
summary: ''
operationId: deleteApiClassSubjectClass_subject_id
description: ''
parameters: []
responses: { }
tags:
- 'Subject Management'
security: []
parameters:
-
in: path
name: class_subject_id
description: 'The ID of the class subject.'
example: 1
required: true
schema:
type: integer
/api/curriculum:
get:
summary: ''
operationId: getApiCurriculum
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Subject Management'
security: []
post:
summary: ''
operationId: postApiCurriculum
description: ''
parameters: []
responses: { }
tags:
- 'Subject Management'
security: []
'/api/curriculum/{curriculum_id}':
get:
summary: ''
operationId: getApiCurriculumCurriculum_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Subject Management'
security: []
put:
summary: ''
operationId: putApiCurriculumCurriculum_id
description: ''
parameters: []
responses: { }
tags:
- 'Subject Management'
security: []
delete:
summary: ''
operationId: deleteApiCurriculumCurriculum_id
description: ''
parameters: []
responses: { }
tags:
- 'Subject Management'
security: []
parameters:
-
in: path
name: curriculum_id
description: 'The ID of the curriculum.'
example: 1
required: true
schema:
type: integer
/api/lessonPlan:
get:
summary: ''
operationId: getApiLessonPlan
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Subject Management'
security: []
post:
summary: ''
operationId: postApiLessonPlan
description: ''
parameters: []
responses: { }
tags:
- 'Subject Management'
security: []
'/api/lessonPlan/{lesson_plan_id}':
get:
summary: ''
operationId: getApiLessonPlanLesson_plan_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Subject Management'
security: []
put:
summary: ''
operationId: putApiLessonPlanLesson_plan_id
description: ''
parameters: []
responses: { }
tags:
- 'Subject Management'
security: []
delete:
summary: ''
operationId: deleteApiLessonPlanLesson_plan_id
description: ''
parameters: []
responses: { }
tags:
- 'Subject Management'
security: []
parameters:
-
in: path
name: lesson_plan_id
description: 'The ID of the lesson plan.'
example: 1
required: true
schema:
type: integer
/api/textbook:
get:
summary: ''
operationId: getApiTextbook
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Subject Management'
security: []
post:
summary: ''
operationId: postApiTextbook
description: ''
parameters: []
responses: { }
tags:
- 'Subject Management'
security: []
'/api/textbook/{textbook_id}':
get:
summary: ''
operationId: getApiTextbookTextbook_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Subject Management'
security: []
put:
summary: ''
operationId: putApiTextbookTextbook_id
description: ''
parameters: []
responses: { }
tags:
- 'Subject Management'
security: []
delete:
summary: ''
operationId: deleteApiTextbookTextbook_id
description: ''
parameters: []
responses: { }
tags:
- 'Subject Management'
security: []
parameters:
-
in: path
name: textbook_id
description: 'The ID of the textbook.'
example: 1
required: true
schema:
type: integer
/api/teacherSubjectMapping:
get:
summary: ''
operationId: getApiTeacherSubjectMapping
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Subject Management'
security: []
post:
summary: ''
operationId: postApiTeacherSubjectMapping
description: ''
parameters: []
responses: { }
tags:
- 'Subject Management'
security: []
'/api/teacherSubjectMapping/{mapping_id}':
get:
summary: ''
operationId: getApiTeacherSubjectMappingMapping_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Subject Management'
security: []
put:
summary: ''
operationId: putApiTeacherSubjectMappingMapping_id
description: ''
parameters: []
responses: { }
tags:
- 'Subject Management'
security: []
delete:
summary: ''
operationId: deleteApiTeacherSubjectMappingMapping_id
description: ''
parameters: []
responses: { }
tags:
- 'Subject Management'
security: []
parameters:
-
in: path
name: mapping_id
description: 'The ID of the mapping.'
example: 1
required: true
schema:
type: integer
/api/room:
get:
summary: ''
operationId: getApiRoom
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Timetable Management'
security: []
post:
summary: ''
operationId: postApiRoom
description: ''
parameters: []
responses: { }
tags:
- 'Timetable Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
room_name:
type: string
description: 'Must not be greater than 50 characters.'
example: b
room_type:
type: string
description: ''
example: Office
enum:
- Classroom
- Lab
- Auditorium
- Office
capacity:
type: integer
description: 'Must be at least 1.'
example: 22
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
required:
- room_name
- room_type
- capacity
security: []
'/api/room/{room_id}':
get:
summary: ''
operationId: getApiRoomRoom_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Timetable Management'
security: []
put:
summary: ''
operationId: putApiRoomRoom_id
description: ''
parameters: []
responses: { }
tags:
- 'Timetable Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
room_name:
type: string
description: ''
example: null
room_type:
type: string
description: ''
example: Classroom
enum:
- Classroom
- Lab
- Auditorium
- Office
capacity:
type: integer
description: 'Must be at least 1.'
example: 16
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
required:
- room_type
- capacity
security: []
delete:
summary: ''
operationId: deleteApiRoomRoom_id
description: ''
parameters: []
responses: { }
tags:
- 'Timetable Management'
security: []
parameters:
-
in: path
name: room_id
description: 'The ID of the room.'
example: 1
required: true
schema:
type: integer
/api/day:
get:
summary: ''
operationId: getApiDay
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Timetable Management'
security: []
post:
summary: ''
operationId: postApiDay
description: ''
parameters: []
responses: { }
tags:
- 'Timetable Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
day_name:
type: string
description: 'Must not be greater than 20 characters.'
example: bngzmiyvdljnikhw
required:
- day_name
security: []
'/api/day/{day_id}':
get:
summary: ''
operationId: getApiDayDay_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Timetable Management'
security: []
put:
summary: ''
operationId: putApiDayDay_id
description: ''
parameters: []
responses: { }
tags:
- 'Timetable Management'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
day_name:
type: string
description: ''
example: null
security: []
delete:
summary: ''
operationId: deleteApiDayDay_id
description: ''
parameters: []
responses: { }
tags:
- 'Timetable Management'
security: []
parameters:
-
in: path
name: day_id
description: 'The ID of the day.'
example: 1
required: true
schema:
type: integer
/api/period:
get:
summary: ''
operationId: getApiPeriod
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Timetable Management'
security: []
post:
summary: ''
operationId: postApiPeriod
description: ''
parameters: []
responses: { }
tags:
- 'Timetable Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
start_time:
type: string
description: 'Must be a valid date in the format H:i.'
example: '17:54'
end_time:
type: string
description: 'Must be a valid date in the format H:i. Must be a date after start_time.'
example: '2052-05-26'
required:
- start_time
- end_time
security: []
'/api/period/{period_id}':
get:
summary: ''
operationId: getApiPeriodPeriod_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Timetable Management'
security: []
put:
summary: ''
operationId: putApiPeriodPeriod_id
description: ''
parameters: []
responses: { }
tags:
- 'Timetable Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
start_time:
type: string
description: 'Must be a valid date in the format H:i.'
example: '17:54'
end_time:
type: string
description: 'Must be a valid date in the format H:i. Must be a date after start_time.'
example: '2052-05-26'
required:
- start_time
- end_time
security: []
delete:
summary: ''
operationId: deleteApiPeriodPeriod_id
description: ''
parameters: []
responses: { }
tags:
- 'Timetable Management'
security: []
parameters:
-
in: path
name: period_id
description: 'The ID of the period.'
example: 1
required: true
schema:
type: integer
/api/timetable:
get:
summary: ''
operationId: getApiTimetable
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Timetable Management'
security: []
post:
summary: ''
operationId: postApiTimetable
description: ''
parameters: []
responses: { }
tags:
- 'Timetable Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
class_id:
type: integer
description: 'The class_id of an existing record in the classes table.'
example: 16
section_id:
type: integer
description: 'The section_id of an existing record in the sections table.'
example: 16
academic_year_id:
type: integer
description: 'The academic_year_id of an existing record in the academic_years table.'
example: 16
day_id:
type: integer
description: 'The day_id of an existing record in the days table.'
example: 16
period_id:
type: integer
description: 'The period_id of an existing record in the periods table.'
example: 16
subject_id:
type: integer
description: 'The subject_id of an existing record in the subjects table.'
example: 16
teacher_id:
type: integer
description: 'The staff_id of an existing record in the staff table.'
example: 16
room_id:
type: integer
description: 'The room_id of an existing record in the rooms table.'
example: 16
required:
- class_id
- section_id
- academic_year_id
- day_id
- period_id
- subject_id
- teacher_id
- room_id
security: []
'/api/timetable/{timetable_id}':
get:
summary: ''
operationId: getApiTimetableTimetable_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Timetable Management'
security: []
put:
summary: ''
operationId: putApiTimetableTimetable_id
description: ''
parameters: []
responses: { }
tags:
- 'Timetable Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
class_id:
type: integer
description: 'The class_id of an existing record in the classes table.'
example: 16
section_id:
type: integer
description: 'The section_id of an existing record in the sections table.'
example: 16
academic_year_id:
type: integer
description: 'The academic_year_id of an existing record in the academic_years table.'
example: 16
day_id:
type: integer
description: 'The day_id of an existing record in the days table.'
example: 16
period_id:
type: integer
description: 'The period_id of an existing record in the periods table.'
example: 16
subject_id:
type: integer
description: 'The subject_id of an existing record in the subjects table.'
example: 16
teacher_id:
type: integer
description: 'The staff_id of an existing record in the staff table.'
example: 16
room_id:
type: integer
description: 'The room_id of an existing record in the rooms table.'
example: 16
required:
- class_id
- section_id
- academic_year_id
- day_id
- period_id
- subject_id
- teacher_id
- room_id
security: []
delete:
summary: ''
operationId: deleteApiTimetableTimetable_id
description: ''
parameters: []
responses: { }
tags:
- 'Timetable Management'
security: []
parameters:
-
in: path
name: timetable_id
description: 'The ID of the timetable.'
example: 1
required: true
schema:
type: integer
/api/substituteAssignment:
get:
summary: ''
operationId: getApiSubstituteAssignment
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Timetable Management'
security: []
post:
summary: ''
operationId: postApiSubstituteAssignment
description: ''
parameters: []
responses: { }
tags:
- 'Timetable Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
timetable_id:
type: integer
description: 'The timetable_id of an existing record in the timetables table.'
example: 16
original_teacher_id:
type: integer
description: 'The staff_id of an existing record in the staff table.'
example: 16
substitute_teacher_id:
type: integer
description: 'The value and original_teacher_id must be different. The staff_id of an existing record in the staff table.'
example: 16
date_of_substitution:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
required:
- timetable_id
- original_teacher_id
- substitute_teacher_id
- date_of_substitution
security: []
'/api/substituteAssignment/{substitute_id}':
get:
summary: ''
operationId: getApiSubstituteAssignmentSubstitute_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Timetable Management'
security: []
put:
summary: ''
operationId: putApiSubstituteAssignmentSubstitute_id
description: ''
parameters: []
responses: { }
tags:
- 'Timetable Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
timetable_id:
type: integer
description: 'The timetable_id of an existing record in the timetables table.'
example: 16
original_teacher_id:
type: integer
description: 'The staff_id of an existing record in the staff table.'
example: 16
substitute_teacher_id:
type: integer
description: 'The value and original_teacher_id must be different. The staff_id of an existing record in the staff table.'
example: 16
date_of_substitution:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
required:
- timetable_id
- original_teacher_id
- substitute_teacher_id
- date_of_substitution
security: []
delete:
summary: ''
operationId: deleteApiSubstituteAssignmentSubstitute_id
description: ''
parameters: []
responses: { }
tags:
- 'Timetable Management'
security: []
parameters:
-
in: path
name: substitute_id
description: 'The ID of the substitute.'
example: 1
required: true
schema:
type: integer
/api/specialEvent:
get:
summary: ''
operationId: getApiSpecialEvent
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Timetable Management'
security: []
post:
summary: ''
operationId: postApiSpecialEvent
description: ''
parameters: []
responses: { }
tags:
- 'Timetable Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
event_name:
type: string
description: 'Must not be greater than 100 characters.'
example: b
event_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
start_time:
type: string
description: 'Must be a valid date in the format H:i.'
example: '17:54'
end_time:
type: string
description: 'Must be a valid date in the format H:i. Must be a date after start_time.'
example: '2052-05-26'
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
room_id:
type: integer
description: 'The room_id of an existing record in the rooms table.'
example: 16
nullable: true
required:
- event_name
- event_date
- start_time
- end_time
security: []
'/api/specialEvent/{event_id}':
get:
summary: ''
operationId: getApiSpecialEventEvent_id
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Timetable Management'
security: []
put:
summary: ''
operationId: putApiSpecialEventEvent_id
description: ''
parameters: []
responses: { }
tags:
- 'Timetable Management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
event_name:
type: string
description: 'Must not be greater than 100 characters.'
example: b
event_date:
type: string
description: 'Must be a valid date.'
example: '2026-05-03T17:54:47'
start_time:
type: string
description: 'Must be a valid date in the format H:i.'
example: '17:54'
end_time:
type: string
description: 'Must be a valid date in the format H:i. Must be a date after start_time.'
example: '2052-05-26'
description:
type: string
description: ''
example: 'Eius et animi quos velit et.'
nullable: true
room_id:
type: integer
description: 'The room_id of an existing record in the rooms table.'
example: 16
nullable: true
required:
- event_name
- event_date
- start_time
- end_time
security: []
delete:
summary: ''
operationId: deleteApiSpecialEventEvent_id
description: ''
parameters: []
responses: { }
tags:
- 'Timetable Management'
security: []
parameters:
-
in: path
name: event_id
description: 'The ID of the event.'
example: 1
required: true
schema:
type: integer