Get All Applications
Retrieve all educator applications with optional filtering by status.Authentication
Bearer token with admin role required
Query Parameters
Filter applications by status. Available values:
pending- Applications awaiting reviewapproved- Approved applicationsrejected- Rejected applications
Response
Indicates if the request was successful
Array of applications sorted by submission date (newest first)
Approve Application
Approve an educator application and grant the user educator role in Clerk.Authentication
Bearer token with admin role required
Path Parameters
Application ID (MongoDB ObjectId)
Response
Indicates if the approval was successful
Confirmation message
Side Effects
- Updates application status to
approved - Clears any existing
rejectionReason - Updates user’s Clerk public metadata with
role: 'educator' - User can now create and publish courses
Example Request
Reject Application
Reject an educator application with an optional reason.Authentication
Bearer token with admin role required
Path Parameters
Application ID (MongoDB ObjectId)
Request Body
Reason for rejection (will be visible to the applicant)
Response
Indicates if the rejection was successful
Confirmation message
Side Effects
- Updates application status to
rejected - Stores the rejection reason (if provided)
- User can resubmit a new application later
- Previous rejection reason will be cleared upon resubmission
Example Requests
Notes
- Applications can only be approved or rejected once they are in
pendingstatus - Rejected users can resubmit applications, which will overwrite their previous submission
- Approving an application automatically grants the
educatorrole in Clerk - The
reasonfield is optional but recommended to provide feedback to applicants - All admin endpoints require the
protectAdminmiddleware authentication