Express API Service

Welcome to the Express API Service. This comprehensive API provides endpoints for managing various aspects of a content management system.

Categories API

Manage content categories with full CRUD operations and pagination support.

/api/v1/categories

Sections API

Organize content into sections with hierarchical structure support.

/api/v1/sections

Articles API

Full article management with rich content, media attachments, and publishing workflow.

/api/v1/articles

Achievements API

Track and manage achievements with categorization and date tracking.

/api/v1/achievements

Media API

Unified media management supporting videos, documents, and images with Cloudinary integration.

/api/v1/media

Media Coverage API

Manage media coverage entries with outlet tracking, view statistics, and duration management.

/api/v1/media-coverage

Personal Info API

Singleton personal information management with education, experience, and achievement tracking.

/api/v1/personal-info

Events API

Event management with date scheduling, location tracking, and participant management.

/api/v1/events

Users API

User management with authentication, authorization, and profile management.

/api/v1/users

Categories API

Base URL: /api/v1/categories

Public Endpoints

  • GET /api/v1/categories - Get all categories with pagination
  • GET /api/v1/categories/all - Get all categories without pagination
  • GET /api/v1/categories/:id - Get category by ID

Protected Endpoints

  • POST /api/v1/categories - Create a new category [Admin/Dev Auth Required]
  • PATCH /api/v1/categories/:id - Update category [Admin/Dev Auth Required]
  • DELETE /api/v1/categories/:id - Delete category [Admin/Dev Auth Required]
  • DELETE /api/v1/categories/delete-all - Delete all categories [Dev Auth Required]

Sections API

Base URL: /api/v1/sections

Public Endpoints

  • GET /api/v1/sections - Get all sections with pagination
  • GET /api/v1/sections/all - Get all sections without pagination
  • GET /api/v1/sections/:id - Get section by ID

Protected Endpoints

  • POST /api/v1/sections - Create a new section [Admin/Dev Auth Required]
  • PATCH /api/v1/sections/:id - Update section [Admin/Dev Auth Required]
  • DELETE /api/v1/sections/:id - Delete section [Admin/Dev Auth Required]
  • DELETE /api/v1/sections/delete-all - Delete all sections [Dev Auth Required]

Articles API

Base URL: /api/v1/articles

Public Endpoints

  • GET /api/v1/articles - Get all articles with pagination
  • GET /api/v1/articles/:id - Get article by ID
  • GET /api/v1/articles/featured - Get featured articles

Protected Endpoints

  • POST /api/v1/articles - Create a new article [Auth Required]
  • PATCH /api/v1/articles/:id - Update article [Auth Required]
  • DELETE /api/v1/articles/:id - Delete article [Auth Required]

Achievements API

Base URL: /api/v1/achievements

Public Endpoints

  • GET /api/v1/achievements - Get all achievements with pagination
  • GET /api/v1/achievements/:id - Get achievement by ID
  • GET /api/v1/achievements/category/:category - Get achievements by category

Protected Endpoints

  • POST /api/v1/achievements - Create a new achievement [Auth Required]
  • PATCH /api/v1/achievements/:id - Update achievement [Auth Required]
  • DELETE /api/v1/achievements/:id - Delete achievement [Auth Required]

Media API

Base URL: /api/v1/media

Public Endpoints

  • GET /api/v1/media - Get all media with pagination
  • GET /api/v1/media/videos - Get all videos
  • GET /api/v1/media/documents - Get all documents

Protected Endpoints

  • POST /api/v1/media - Upload new media [Auth Required]
  • PATCH /api/v1/media/:id - Update media [Auth Required]
  • DELETE /api/v1/media/:id - Delete media [Auth Required]

Media Coverage API

Base URL: /api/v1/media-coverage

Public Endpoints

  • GET /api/v1/media-coverage - Get all media coverage with pagination
  • GET /api/v1/media-coverage/:id - Get media coverage by ID
  • GET /api/v1/media-coverage/type/:type - Get media coverage by type

Protected Endpoints

  • POST /api/v1/media-coverage - Create new media coverage [Auth Required]
  • PATCH /api/v1/media-coverage/:id - Update media coverage [Auth Required]
  • DELETE /api/v1/media-coverage/:id - Delete media coverage [Auth Required]

Personal Info API

Base URL: /api/v1/personal-info

Public Endpoints

  • GET /api/v1/personal-info - Get personal information
  • GET /api/v1/personal-info/summary - Get personal info summary

Protected Endpoints (Singleton Pattern)

  • PATCH /api/v1/personal-info - Update personal information [Auth Required]
  • PUT /api/v1/personal-info - Create or update personal information [Auth Required]
  • POST /api/v1/personal-info/education - Add education entry [Auth Required]
  • POST /api/v1/personal-info/experience - Add experience entry [Auth Required]

Events API

Base URL: /api/v1/events

Public Endpoints

  • GET /api/v1/events - Get all events with pagination
  • GET /api/v1/events/:id - Get event by ID
  • GET /api/v1/events/upcoming - Get upcoming events

Protected Endpoints

  • POST /api/v1/events - Create a new event [Auth Required]
  • PATCH /api/v1/events/:id - Update event [Auth Required]
  • DELETE /api/v1/events/:id - Delete event [Auth Required]

Users API

Base URL: /api/v1/users

Authentication Endpoints

  • POST /api/v1/users/signup - User registration
  • POST /api/v1/users/login - User login
  • POST /api/v1/users/forgotPassword - Request password reset

Protected Endpoints

  • GET /api/v1/users/me - Get current user profile [Auth Required]
  • PATCH /api/v1/users/updateMe - Update current user profile [Auth Required]
  • DELETE /api/v1/users/deleteMe - Deactivate current user account [Auth Required]

Admin Endpoints

  • GET /api/v1/users - Get all users [Admin Auth Required]
  • GET /api/v1/users/:id - Get user by ID [Admin Auth Required]