Instruction file imported from chukwumela909/dtn (
.cursor/rules/api-documentation.mdc). Copyright stays with the author.
API DOCUMENTATION FOR DTN
(Get students for a parent)
endpoint : https://dtn.godiscova.com/api/get-parent-students/
header : {
"Authorization": "Bearer $token"
}
payload: (no payload it's a get request)
response(200): { "status": "success", "ClassList": [ { "id": 13, "api_key": null, "parent_id": 4, "first_name": "Oscar", "last_name": null, "email": null, "phone": null, "gender": "Male", "profile_image": "https://kingoftiktok.com/home/assets/img/king/lion-logo.png", "dob": null, "age": 20, "location": null, "school": "393849", "school_name": null, "specialization": null, "state": null, "country": null, "passwords": null, "user_type": "Student", "student_code": "167027", "schoolcode": null, "otp": null, "is_verified": "email_verified" }, { "id": 14, "api_key": null, "parent_id": 4, "first_name": "Amirize", "last_name": null, "email": null, "phone": null, "gender": "Female", "profile_image": "https://res.cloudinary.com/degbr4jx5/image/upload/v1746809068/home_folder/scaled_1000000051_pwcua3.jpg", "dob": null, "age": 21, "location": null, "school": "393849", "school_name": null, "specialization": null, "state": null, "country": null, "passwords": null, "user_type": "Student", "student_code": "560912", "schoolcode": null, "otp": null, "is_verified": "email_verified" }, { "id": 15, "api_key": null, "parent_id": 4, "first_name": "Richie", "last_name": null, "email": null, "phone": null, "gender": "Female", "profile_image": "https://res.cloudinary.com/degbr4jx5/image/upload/v1746809581/home_folder/scaled_1000000063_qsfxbr.png", "dob": null, "age": 25, "location": null, "school": "393849", "school_name": null, "specialization": null, "state": null, "country": null, "passwords": null, "user_type": "Student", "student_code": "145418", "schoolcode": null, "otp": null, "is_verified": "email_verified" }, { "id": 16, "api_key": null, "parent_id": 4, "first_name": "test student", "last_name": null, "email": null, "phone": null, "gender": "Male", "profile_image": "https://res.cloudinary.com/degbr4jx5/image/upload/v1747492619/home_folder/scaled_1000000052_bqb3hh.jpg", "dob": null, "age": 21, "location": null, "school": "34253", "school_name": null, "specialization": null, "state": null, "country": null, "passwords": null, "user_type": "Student", "student_code": "708592", "schoolcode": null, "otp": null, "is_verified": "email_verified" } ] }
##(fetch class details for teacher)
endpoint: dtn.godiscova.com/api/teacher-view-class/?classid={id}
header : {
"Authorization": "Bearer $token"
}
payload: (no payload it's a get request)
response(200): { "status": "success", "ClassList": [ { "id": 2, "teacher_id": 2, "ClassTitle": "Mathematics class", "description": "linear algebra", "class_image": "https://dtn.budr.academy/api/uploads/img-1.jpeg", "studentURLs": [ { "id": "selectedIDs", "name": "selectedNames", "imageUrl": "selectedImageUrls" } ], "lessonTimes": [ { "Day": "Wed", "From": "02:00 PM", "To": "06:00 PM" } ], "ClassContents": [ { "ContentVideo": "https://res.cloudinary.com/degbr4jx5/image/upload/v1746473282/home_folder/Screenshot_209_xhkfzz.png" } ], "ClassTasks": null } ] }
(Teacher add assessment to a class, for a class)
endpoint: "https://dtn.godiscova.com/api/add-task/"
header : {
"Authorization": "Bearer $token"
}
payload: { "classID":2, "tasktitle": "Assignment 1", "taskdescription": "this is your first assignment", "grade": 10, "Day": "Thu", "From": "12:00 PM", "To": "04:00 PM" }
response(success 200): {"status":"success","data":{"message":"Task added successfully"}}
response (error): {"status":"failed","message":"error"}
(Teacher add note to a class, for a class)
endpoint: "https://dtn.godiscova.com/api/add-notes/"
header : {
"Authorization": "Bearer $token"
}
payload: { "Classnote": "This is the class note", "link": "This is the best class I have ever seen in my life.", "classID": 2 }
response(success 200): {"status":"success","message":"Note Created Successfully"}
response (error): {"status":"failed","message":"Missing required fields"}
##(Teacher get all exams)
endpoint: "https://dtn.godiscova.com/api/teacher-get-all-exams/"
header : { "Authorization" : "Bearer $token" }
payload: (no payload, it's a get request)
response(success 200): { "status": "success", "message": "Exams retrieved successfully", "data": [ { "id": 3, "teacher_id": 2, "exam_name": "Midterm Math Test", "subject": "Mathematics", "description": "Covers algebra and geometry", "exam_type": "Objective", "exam_date": "2025-06-01", "exam_time": "10:00:00", "created_at": "2025-05-20 13:37:21" }, { "id": 2, "teacher_id": 2, "exam_name": "Midterm Math Test", "subject": "Mathematics", "description": "Covers algebra and geometry", "exam_type": "Objective", "exam_date": "2025-06-01", "exam_time": "10:00:00", "created_at": "2025-05-15 15:24:12" }, { "id": 1, "teacher_id": 2, "exam_name": "Midterm Math Test", "subject": "Mathematics", "description": "Covers algebra and geometry", "exam_type": "Objective", "exam_date": "2025-06-01", "exam_time": "10:00:00", "created_at": "2025-05-15 15:19:44" } ] }
response (error >400) { "status": "failed", "message": "Invalid token signature" }
##(Teacher create exam)
endpoint: "https://dtn.godiscova.com/api/create-exam/"
header : { "Authorization" : "Bearer $token" }
payload: { "exam_type": "Objective", "exam_name": "Midterm Math Test", "subject": "Mathematics", "description": "Covers algebra and geometry", "exam_date": "2025-06-01", "exam_time": "10:00:00", "questions": [ { "question": "What is 2 + 2?", "options": ["3", "4", "5", "6"], "correct_answer": "4" }, { "question": "What is the square root of 9?", "options": ["2", "3", "4", "5"], "correct_answer": "3" } ] }
response(success 200): {"status":"success","message":"Exam created successfully","data":{"exam_id":4}}
response (error >400) { "status": "failed", "message": "error" }
##( get all students)
endpoint: "https://dtn.godiscova.com/api/all-students-school/"
header : { "Authorization" : "Bearer $token" }
payload: (no payload, it's a get request)
response(success 200): { "status": "success", "data": { "StudentList": [ { "id": 13, "api_key": null, "parent_id": 4, "first_name": "Oscar", "last_name": null, "email": null, "phone": null, "gender": "Male", "profile_image": "https://kingoftiktok.com/home/assets/img/king/lion-logo.png", "dob": null, "age": 20, "location": null, "school": "393849", "school_name": null, "specialization": null, "state": null, "country": null, "passwords": null, "user_type": "Student", "student_code": "167027", "schoolcode": null, "otp": null, "is_verified": "email_verified" }, { "id": 14, "api_key": null, "parent_id": 4, "first_name": "Amirize", "last_name": null, "email": null, "phone": null, "gender": "Female", "profile_image": "https://res.cloudinary.com/degbr4jx5/image/upload/v1746809068/home_folder/scaled_1000000051_pwcua3.jpg", "dob": null, "age": 21, "location": null, "school": "393849", "school_name": null, "specialization": null, "state": null, "country": null, "passwords": null, "user_type": "Student", "student_code": "560912", "schoolcode": null, "otp": null, "is_verified": "email_verified" }, { "id": 15, "api_key": null, "parent_id": 4, "first_name": "Richie", "last_name": null, "email": null, "phone": null, "gender": "Female", "profile_image": "https://res.cloudinary.com/degbr4jx5/image/upload/v1746809581/home_folder/scaled_1000000063_qsfxbr.png", "dob": null, "age": 25, "location": null, "school": "393849", "school_name": null, "specialization": null, "state": null, "country": null, "passwords": null, "user_type": "Student", "student_code": "145418", "schoolcode": null, "otp": null, "is_verified": "email_verified" } ] } }
response (error >400) { "status": "failed", "message": "Invalid token signature" }
##(add class students)
endpoint: "dtn.godiscova.com/api/update-class-students/index.php"
header : { "Authorization" : "Bearer $token" }
payload: { "selectedNames": [ { "id": 13, "first_name": "Oscar", "last_name": null, "profile_image": "https://kingoftiktok.com/home/assets/img/king/lion-logo.png" }, { "id": 13, "first_name": "matthew", "last_name": null, "profile_image": "https://kingoftiktok.com/home/assets/img/king/lion-logo.png" }, { "id": 13, "first_name": "john", "last_name": null, "profile_image": "https://kingoftiktok.com/home/assets/img/king/lion-logo.png" }, { "id": 13, "first_name": "cynthia", "last_name": null, "profile_image": "https://kingoftiktok.com/home/assets/img/king/lion-logo.png" } ], "classID": 3 }
response(success 200): {"status":"success","message":"Class updated successfully"}
response (error >400) { "status": "failed", "message": "error" }
##(remove class students)
endpoint: "https://dtn.godiscova.com/api/teacher-remove-class-student/"
header : { "Authorization" : "Bearer $token" }
payload: { "selectedNames": [ { "id": 13, "first_name": "Oscar", "last_name": null, "profile_image": "https://kingoftiktok.com/home/assets/img/king/lion-logo.png" },
],
"classID": 3
}
response(success 200): {"status":"success","message":"Selected students removed successfully"}
response (error >400) { "status": "failed", "message": "error" }
##(edit/update class)
endpoint: "https://dtn.godiscova.com/api/update-class/"
header : { "Authorization" : "Bearer $token" }
payload: { "class_id": 1, "ClassTitle": "Geometry Class", "description": "This is the best class I have ever seen in my life.", "imageURL": "images/profile.jpg", "studentURLs": [ { "id": 13, "first_name": "Oscar", "last_name": null, "profile_image": "https://kingoftiktok.com/home/assets/img/king/lion-logo.png" }, ], "lessonTimes": [ {"Day": "Mon", "From": "9:00 am", "To": "12:02 pm"}, {"Day": "Tue", "From": "9:00 am", "To": "12:02 pm"}, {"Day": "Wed", "From": "9:00 am", "To": "12:02 pm"}, {"Day": "Thu", "From": "9:00 am", "To": "12:02 pm"}, {"Day": "Fri", "From": "9:00 am", "To": "12:02 pm"} ], "ClassContents": [ {"ContentVideo": "https://www.youtube.com/watch?v=4AoFA19gbLo"}, {"ContentVideo": "images/profile.jpg"}, {"ContentVideo": "https://primeassetwhale.com/public/assets/img/Prime_Asset_Whale__3_-removebg-preview.png"}, {"ContentVideo": "https://primeassetwhale.com/PrimeAssetWhale.pdf"}, {"ContentVideo": "https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4"}, {"ContentVideo": "https://res.cloudinary.mff"} ], "ClassTasks": [ {"TaskName": "Testing Task", "TaskLink": "https://codedhost.com", "TaskMaxGrade": "35", "TaskDate": "28 Feb 2024", "TaskType": "Assignment"}, {"TaskName": "Mon", "TaskLink": "9:00 am", "TaskMaxGrade": "12:02 pm", "TaskDate": "28 Feb 2024", "TaskType": "Assignment"}, {"TaskName": "Mon", "TaskLink": "9:00 am", "TaskMaxGrade": "12:02 pm", "TaskDate": "28 Feb 2024", "TaskType": "Assignment"}, {"TaskName": "Mon", "TaskLink": "9:00 am", "TaskMaxGrade": "12:02 pm", "TaskDate": "28 Feb 2024", "TaskType": "Assignment"}, {"TaskName": "Mon", "TaskLink": "9:00 am", "TaskMaxGrade": "12:02 pm", "TaskDate": "28 Feb 2024", "TaskType": "Assignment"} ] }
response(success 200): {"status":"success","message":"Class 'Geometry Class' updated successfully"}
response (error >400) { "status": "failed", "message": "error" }
##(edit teacher profile)
endpoint: "https://dtn.godiscova.com/api/update-class/"
header : { "Authorization" : "Bearer $token" }
payload: { "first_name": "Oscar", "last_name": "Letambari", "phone": "08104454017", "gender": "Male", "dob": "24-10-1997", "country": "Nigeria", "state": "Rivers" }
response(success 200): {"status":"success","message":"Class 'Profile updated"}
response (error >400) { "status": "failed", "message": "error" }
##(get notifications)
endpoint: "https://dtn.godiscova.com/api/all-notifications/"
header : { "Authorization" : "Bearer $token" }
payload: (no payload get request)
response(success 200): { "status": "success", "notificationList": [ { "id": 1, "user_id": 3, "notifications": "You have a new message", "msg": "You Added a new class Titled: UIUX Design ", "thedate": "2024-05-25 15:00:27" }, { "id": 4, "user_id": 3, "notifications": "You have a new message", "msg": "You were added to a new class", "thedate": "2024-05-25 15:04:58" }, { "id": 10, "user_id": 3, "notifications": "You have a new message", "msg": "You were added to a new class", "thedate": "2024-05-25 17:12:24" }, { "id": 82, "user_id": 3, "notifications": "You have a new message", "msg": "", "thedate": "2025-06-04 15:25:07" } ] }
response (error >400) { "status": "failed", "message": "error" }
##(all messages user)
note: this shows messages associated with a user, and when the click on a chat, it shows only messages with the message-id
endpoint: "https://dtn.godiscova.com/api/all-messages-user/"
header : { "Authorization" : "Bearer $token" }
payload: (no payload get request)
response(success 200): { "status": "success", "messageList": [ { "user_id": 3, "first_name": "Destiny", "profile_image": "https://dtn.budr.academy/api/uploads/img-2.jpeg", "message_id": 11, "message": "hello bro", "message_date": "2025-06-04 15:25:07", "status": 1, "receiver_id": 4, "sender_id": 3 }, { "user_id": 4, "first_name": "destiny", "profile_image": "https://dtn.budr.academy/api/uploads/img-2.jpeg", "message_id": 11, "message": "hello bro", "message_date": "2025-06-04 15:25:07", "status": 1, "receiver_id": 4, "sender_id": 3 }, { "user_id": 3, "first_name": "Destiny", "profile_image": "https://dtn.budr.academy/api/uploads/img-2.jpeg", "message_id": 13, "message": "tobais this is wisdom's new message", "message_date": "2025-06-10 02:46:33", "status": 1, "receiver_id": 23, "sender_id": 3 }, { "user_id": 23, "first_name": "Fred Quadre", "profile_image": "https://res.cloudinary.com/degbr4jx5/image/upload/v1742990265/IMG_0334_jfgcyr.jpg", "message_id": 13, "message": "tobais this is wisdom's new message", "message_date": "2025-06-10 02:46:33", "status": 1, "receiver_id": 23, "sender_id": 3 } ] }
response (error >400) { "status": "failed", "message": "error" }
##(send message)
endpoint: "https://dtn.godiscova.com/api/send-message/"
header : { "Authorization" : "Bearer $token" }
payload: { "receiver_id": 23, "message": "tobais this is wisdom's new message" }
response(success 200): {"status":"success","message":"Message sent successfully"}
response (error >400) { "status": "failed", "message": "error" }
##(student login)
endpoint: "https://dtn.godiscova.com/api/login/student-login.php"
Note: after they login store the token, follow same pattern used in the app
payload: { "student_code":"560912" }
response(success 200): { "status": "success", "message": "Login successful", "token": "[REDACTED jwt]" }
response (error >400) { "status": "failed", "message": "error" }
##(student profile)
endpoint: "https://dtn.godiscova.com/api/profile/"
header : { "Authorization" : "Bearer $token" }
payload: (no payload get request)
response(success 200): { "status": "success", "data": { "user_data": { "id": 14, "api_key": null, "parent_id": 4, "first_name": "Amirize", "last_name": null, "email": null, "phone": null, "gender": "Female", "profile_image": "https://res.cloudinary.com/degbr4jx5/image/upload/v1746809068/home_folder/scaled_1000000051_pwcua3.jpg", "dob": null, "age": 21, "location": null, "school": "393849", "school_name": null, "specialization": null, "state": null, "country": null, "passwords": null, "user_type": "Student", "student_code": "560912", "schoolcode": null, "otp": null, "is_verified": "email_verified" } } }
response (error >400) { "status": "failed", "message": "error" }
##(fetch classes for student)
endpoint: https://dtn.godiscova.com/api/all-classes/student.php
header : {
"Authorization": "Bearer $token"
}
payload: (no payload it's a get request)
response(200): { "status": "success", "ClassList": [ { "id": 19, "teacher_id": 2, "ClassTitle": "physiology", "description": "this is a serious subject ", "class_image": "https://dtn.budr.academy/api/uploads/img-1.jpeg", "studentURLs": "[{"id":15,"name":"Richie","imageUrl":"https:\/\/res.cloudinary.com\/degbr4jx5\/image\/upload\/v1746809581\/home_folder\/scaled_1000000063_qsfxbr.png"},{"id":14,"name":"Amirize","imageUrl":"https:\/\/res.cloudinary.com\/degbr4jx5\/image\/upload\/v1746809068\/home_folder\/scaled_1000000051_pwcua3.jpg"}]", "lessonTimes": "[{"Day":"Tue","From":"11:00 AM","To":"04:00 PM"},{"Day":"Fri","From":"03:00 PM","To":"05:00 PM"}]", "ClassContents": null, "ClassTasks": "[{"classID":19,"tasktitle":"draw the heart","taskdescription":"draw the left ventricle","grade":200,"Day":"Mon","From":"10:00 AM","To":"02:15 PM"}]", "classNotes": "[{"ClassnoteTitle":"video of cat surgery ","Classnote":"watch The cat surgery ","link":["https:\/\/betpaddi.com","https:\/\/bingpay.ng"],"created_at":"2025-05-25 19:29:27"}]", "exams": null, "create_date": "2025-05-25 21:26:06" } ] }
##(fetch class details for student)
endpoint: https://dtn.godiscova.com/api/user-single-class/student.php?classID=19
header : {
"Authorization": "Bearer $token"
}
payload: (no payload it's a get request)
response(200): { "status": "success", "ClassList": { "id": 19, "teacher_id": 2, "ClassTitle": "physiology", "description": "this is a serious subject ", "class_image": "https://dtn.budr.academy/api/uploads/img-1.jpeg", "studentURLs": "[{"id":15,"name":"Richie","imageUrl":"https:\/\/res.cloudinary.com\/degbr4jx5\/image\/upload\/v1746809581\/home_folder\/scaled_1000000063_qsfxbr.png"},{"id":14,"name":"Amirize","imageUrl":"https:\/\/res.cloudinary.com\/degbr4jx5\/image\/upload\/v1746809068\/home_folder\/scaled_1000000051_pwcua3.jpg"}]", "lessonTimes": "[{"Day":"Tue","From":"11:00 AM","To":"04:00 PM"},{"Day":"Fri","From":"03:00 PM","To":"05:00 PM"}]", "ClassContents": null, "ClassTasks": "[{"classID":19,"tasktitle":"draw the heart","taskdescription":"draw the left ventricle","grade":200,"Day":"Mon","From":"10:00 AM","To":"02:15 PM"}]", "classNotes": "[{"ClassnoteTitle":"video of cat surgery ","Classnote":"watch The cat surgery ","link":["https:\/\/betpaddi.com","https:\/\/bingpay.ng"],"created_at":"2025-05-25 19:29:27"}]", "exams": null, "create_date": "2025-05-25 21:26:06" } }
##(fetch assessment for for student)
endpoint: https://dtn.godiscova.com/api/user-single-class/student.php?classID=19
header : {
"Authorization": "Bearer $token"
}
payload: (no payload it's a get request)
response(200): { "status": "success", "ClassList": { "id": 19, "teacher_id": 2, "ClassTitle": "physiology", "description": "this is a serious subject ", "class_image": "https://dtn.budr.academy/api/uploads/img-1.jpeg", "studentURLs": "[{"id":15,"name":"Richie","imageUrl":"https:\/\/res.cloudinary.com\/degbr4jx5\/image\/upload\/v1746809581\/home_folder\/scaled_1000000063_qsfxbr.png"},{"id":14,"name":"Amirize","imageUrl":"https:\/\/res.cloudinary.com\/degbr4jx5\/image\/upload\/v1746809068\/home_folder\/scaled_1000000051_pwcua3.jpg"}]", "lessonTimes": "[{"Day":"Tue","From":"11:00 AM","To":"04:00 PM"},{"Day":"Fri","From":"03:00 PM","To":"05:00 PM"}]", "ClassContents": null, "ClassTasks": "[{"classID":19,"tasktitle":"draw the heart","taskdescription":"draw the left ventricle","grade":200,"Day":"Mon","From":"10:00 AM","To":"02:15 PM"}]", "classNotes": "[{"ClassnoteTitle":"video of cat surgery ","Classnote":"watch The cat surgery ","link":["https:\/\/betpaddi.com","https:\/\/bingpay.ng"],"created_at":"2025-05-25 19:29:27"}]", "exams": null, "create_date": "2025-05-25 21:26:06" } }
##(fetch all users)
endpoint: https://dtn.godiscova.com/api/all-users/
payload: (no payload it's a get request)
response(200): { "status": "success", "SchoolList": [ { "id": 1, "api_key": "13db0a2eda129aa67f8b2c60e175e1fd", "parent_id": 1, "first_name": null, "last_name": null, "email": null, "phone": null, "gender": "", "profile_image": "https://dtn.budr.academy/api/uploads/img-2.jpeg", "dob": null, "age": null, "location": null, "school": null, "school_name": null, "specialization": null, "state": null, "country": null, "passwords": null, "user_type": null, "student_code": null, "schoolcode": null, "otp": null, "is_verified": "email_verified" }, { "id": 2, "api_key": null, "parent_id": 0, "first_name": "Oscar", "last_name": null, "email": null, "phone": null, "gender": "Male", "profile_image": "https://dtn.budr.academy/api/uploads/img-2.jpeg", "dob": null, "age": null, "location": null, "school": null, "school_name": null, "specialization": null, "state": null, "country": null, "passwords": "$2y$10$qaGzntZWEZzojkvZrPYWJuFNbmgDsrdvS2.U/DL4xLsSX3tzl35p2", "user_type": "Teacher", "student_code": null, "schoolcode": null, "otp": "6543", "is_verified": "email_verified" }
]
}
##(get student details by student code)
endpoint: https://dtn.godiscova.com/api/get-student-details/?studentcode=167027
header : { "Authorization": "Bearer $token" }
payload: (no payload it's a get request)
response (200): { "status": "success", "student": { "id": 13, "api_key": null, "parent_id": 4, "first_name": "Oscar", "last_name": null, "email": null, "phone": null, "gender": "Male", "profile_image": "https://kingoftiktok.com/home/assets/img/king/lion-logo.png", "dob": null, "age": 20, "location": null, "school": "4dD4ha6a", "school_name": null, "specialization": null, "state": null, "country": null, "passwords": null, "user_type": "Student", "student_code": "167027", "schoolcode": "4dD4ha6a", "otp": null, "is_verified": "email_verified" } }
response (error >400): { "status": "failed", "message": "Student not found" }