API Documentation

Welcome to the EduGate Admin API documentation. This RESTful API provides endpoints for event management, payment processing, messaging, articles, and donation campaigns.

Base URL

https://www.sahwicareerexpo-uat.teiltree.co.zw/api/v1

Authentication

Bearer Token

Content Type

application/json

Authentication

POST /api/v1/auth/register

Register a new user account

POST /api/v1/auth/login

Login and receive authentication token

POST /api/v1/auth/logout

Logout current session (requires authentication)

GET /api/v1/auth/profile

Get authenticated user profile

PUT /api/v1/auth/profile

Update user profile

POST /api/v1/auth/forgot-password

Request password reset link

POST /api/v1/auth/reset-password

Reset password with token

Events Management

Events

GET /api/v1/events

List all events

GET /api/v1/events/upcoming

Get upcoming events for homepage

GET /api/v1/events/{eventId}

Get single event details

POST /api/v1/events

Create new event (requires authentication & permission)

PUT /api/v1/events/{event}

Update event (requires authentication & permission)

DELETE /api/v1/events/{event}

Delete event (requires authentication & permission)

Event Panels

GET /api/v1/events/{eventId}/panels

List all panels for an event

POST /api/v1/event-panels

Create event panel

GET /api/v1/event-panels/{panel}

Get panel details

PUT /api/v1/event-panels/{panel}

Update event panel

DELETE /api/v1/event-panels/{panel}

Delete event panel

Event Activities

GET /api/v1/events/{eventId}/activities

List all activities for an event

POST /api/v1/event-activities

Create event activity

Conference Calls

GET /api/v1/conference-calls

List all conference calls

POST /api/v1/conference-calls

Create conference call

POST /api/v1/conference-calls/{id}/start

Start conference call

POST /api/v1/conference-calls/{id}/end

End conference call

GET /api/v1/conference-calls/{id}/credentials

Get meeting credentials

Payments & Event Registration

Event Registrations

POST /api/v1/events/{event}/register

Register for an event (individual)

POST /api/v1/events/{event}/register-group

Register group for event (company_rep role required)

GET /api/v1/events/{event}/registration-status

Check registration status

GET /api/v1/my-registrations

Get user's registrations

GET /api/v1/events/{event}/registrations

Get event registrations

GET /api/v1/events/{event}/analytics

Get event registration analytics

Payments

POST /api/v1/payments/initiate

Initiate payment

GET /api/v1/payments/{payment}

Get payment details

GET /api/v1/payments/{payment}/status

Check payment status

POST /api/v1/payments/{payment}/verify

Verify payment

GET /api/v1/my-payments

Get user payments

Tickets

GET /api/v1/tickets/{ticket}

Get ticket details

GET /api/v1/tickets/{ticket}/download

Download ticket

POST /api/v1/tickets/{ticket}/resend

Resend ticket email

GET /api/v1/my-tickets

Get user's tickets

POST /api/v1/tickets/scan

Scan ticket (admin only)

POST /api/v1/tickets/{ticket}/check-in

Check-in attendee (admin only)

Payment Gateways

GET /api/v1/payment-gateways

List available payment gateways

Messaging & Forums

Threads

GET /api/v1/threads

List all threads

POST /api/v1/threads

Create new thread

GET /api/v1/threads/{id}

Get thread details

POST /api/v1/threads/{id}/members

Add member to thread

POST /api/v1/threads/{id}/leave

Leave thread

Messages

GET /api/v1/threads/{threadId}/messages

Get thread messages

POST /api/v1/threads/{threadId}/messages

Send message in thread

POST /api/v1/threads/{threadId}/messages/{messageId}/reactions

Add reaction to message

Forums

GET /api/v1/forums

List all forums

POST /api/v1/forums

Create forum

POST /api/v1/forums/{id}/join

Join forum

GET /api/v1/forums/{forumId}/posts

Get forum posts

POST /api/v1/forums/{forumId}/posts

Create forum post

POST /api/v1/forums/{forumId}/posts/{postId}/comments

Comment on forum post

Articles

GET /api/v1/articles

List all articles

GET /api/v1/articles/trending

Get trending articles

GET /api/v1/articles/trending-topics

Get trending topics

GET /api/v1/articles/{article}

Get article details

POST /api/v1/articles

Create article (requires authentication)

PUT /api/v1/articles/{article}

Update article

POST /api/v1/articles/{article}/like

Toggle article like

POST /api/v1/articles/{article}/bookmark

Toggle article bookmark

GET /api/v1/articles/{article}/comments

Get article comments

POST /api/v1/articles/{article}/comments

Add comment to article

Donation Campaigns

Campaigns

GET /api/v1/campaigns

List all campaigns

GET /api/v1/campaigns/{campaign}

Get campaign details

GET /api/v1/campaigns/{campaign}/statistics

Get campaign statistics

GET /api/v1/campaigns/{campaign}/top-donors

Get top donors

POST /api/v1/campaigns

Create campaign (requires authentication)

Donations

GET /api/v1/donations

List all donations

POST /api/v1/donations

Make donation (requires authentication)

GET /api/v1/donations/{donation}

Get donation details

POST /api/v1/donations/{donation}/process-payment

Process donation payment

GET /api/v1/donations/my/history

Get user's donation history

Admin Routes

The following endpoints require admin role authentication.

GET /api/v1/admin/pending-verifications

Get pending user verifications

POST /api/v1/admin/verify-user/{userId}

Approve user verification

POST /api/v1/admin/reject-user/{userId}

Reject user verification

GET /api/v1/admin/users

List all users

PUT /api/v1/admin/users/{userId}/role

Update user role

PATCH /api/v1/admin/users/{userId}/suspend

Toggle user suspension

Email Broadcasts

GET /api/v1/broadcasts

List all broadcasts

POST /api/v1/broadcasts

Create broadcast

POST /api/v1/broadcasts/{id}/send

Send broadcast

GET /api/v1/broadcasts/{id}/statistics

Get broadcast statistics

POST /api/v1/broadcasts/preview-recipients

Preview recipients

Utilities

GET /api/v1/meta

Get API version and metadata

GET /api/v1/universities

List universities

GET /api/v1/organizations

List organizations

GET /api/v1/organizations/search

Search organizations