Centralized backend for all AETech portals
Version 1.0.0
https://api.aetechlabs.comNextAuth.js with credentials & Google
Complete API reference
API & database status
Test endpoints interactively
All services operational
MongoDB ready
All API endpoints require authentication via NextAuth.js session tokens.
POST/v1/api/auth/signupCreate new account with email/password
POST/v1/api/auth/signinSign in with credentials or OAuth
POST/v1/api/auth/signoutEnd user session
GET/v1/api/auth/sessionGet current session
/v1/api/users/profile🔒 Auth RequiredGet authenticated user profile
/v1/api/users/profile🔒 Auth RequiredUpdate user profile
Request Body:
{
"name": "string",
"image": "string"
}/v1/api/courses🔒 Auth RequiredList all courses with pagination
Query Parameters:
{
"page": "number",
"limit": "number"
}/v1/api/verify/{code}Verify certificate by code
/v1/api/staff🔒 Auth RequiredList all staff identities (admin only)
Query Parameters:
{
"page": "number",
"limit": "number",
"status": "string",
"department": "string",
"search": "string"
}/v1/api/staff🔒 Auth RequiredCreate new staff identity (admin only)
Request Body:
{
"employeeId": "string",
"firstName": "string",
"lastName": "string",
"email": "string",
"department": "string",
"role": "string"
}/v1/api/staff/{employeeId}Get staff identity details (role-based access)
/v1/api/staff/{employeeId}🔒 Auth RequiredUpdate staff identity (admin only)
/v1/api/staff/{employeeId}/verifyVerify staff identity via QR scan or token
Request Body:
{
"token": "string",
"scanType": "string",
"scannedBy": "string",
"purpose": "string",
"location": "string"
}/v1/api/staff/{employeeId}/qrcode🔒 Auth RequiredGenerate QR code data for staff ID
/v1/api/staff/{employeeId}/accessLog building/room access attempt
Request Body:
{
"accessType": "string",
"location": "string",
"action": "string",
"deviceId": "string"
}/v1/api/staff/{employeeId}/access🔒 Auth RequiredGet access logs for staff member
Query Parameters:
{
"page": "number",
"limit": "number",
"accessType": "string"
}/v1/api/store/productsList store products with pagination
Query Parameters:
{
"page": "number",
"limit": "number"
}{
"success": true,
"data": { ... },
"meta": {
"page": 1,
"limit": 10,
"total": 100
}
}{
"success": false,
"error": "Error message"
}