diff --git a/api/CourseRegistration.API/Controllers/WaitlistController.cs b/api/CourseRegistration.API/Controllers/WaitlistController.cs
new file mode 100644
index 0000000..5763375
--- /dev/null
+++ b/api/CourseRegistration.API/Controllers/WaitlistController.cs
@@ -0,0 +1,288 @@
+using Microsoft.AspNetCore.Mvc;
+using CourseRegistration.Application.DTOs;
+using CourseRegistration.Application.Interfaces;
+
+namespace CourseRegistration.API.Controllers;
+
+///
+/// Controller for waitlist management operations
+///
+[ApiController]
+[Route("api/[controller]")]
+[Produces("application/json")]
+public class WaitlistController : ControllerBase
+{
+ private readonly IWaitlistService _waitlistService;
+ private readonly ILogger _logger;
+
+ ///
+ /// Initializes a new instance of the WaitlistController
+ ///
+ public WaitlistController(IWaitlistService waitlistService, ILogger logger)
+ {
+ _waitlistService = waitlistService ?? throw new ArgumentNullException(nameof(waitlistService));
+ _logger = logger ?? throw new ArgumentNullException(nameof(logger));
+ }
+
+ ///
+ /// Adds a student to a course waitlist
+ ///
+ /// Waitlist entry creation data
+ /// Created waitlist entry
+ [HttpPost]
+ [ProducesResponseType(typeof(ApiResponseDto), StatusCodes.Status201Created)]
+ [ProducesResponseType(typeof(ApiResponseDto