Courses API

v1.0 • REST • JSON

Full CRUD management for course accounts. Create, retrieve, update, and delete course records with built-in pagination and role-based access control support.

GET POST PUT DELETE 5 Endpoints
Base URL https://bogusapi.com/api/courses
GET /api/courses 200 OK

Get All Courses

Retrieves a paginated list of all courses in the system. Use the page and limit query parameters to navigate large result sets. The response envelope includes total count and page metadata.

Query Parameters
ParameterTypeDefaultDescription
page integer 1 Page number, 1-based index
limit integer 10 Number of records per page
Response: 200 OK
GET /api/courses/{id} 200 OK

Get Single Course

Fetch the full profile for a specific course using their numeric ID. Returns all course fields including assigned role names and account metadata.

Path Parameters
ParameterTypeRequiredDescription
id integer Required Unique course identifier
Response: 200 OK
GET /api/courses/{id} 404 Not Found

Course Not Found

Returned when the requested course ID does not exist in the system. Use this example to test error-handling logic and build graceful fallback UI for missing course resources.

Response: 404 Not Found
POST /api/courses 201 Created

Create Course

Registers a new course with the provided details. On success, returns the newly created course object including the auto-generated ID, timestamp, and resolved role names.

Request Body
Field Type Required Description
name string Required Name
description string Optional Description
courseCode string Required Course code
department string Required Department
instructorName string Required Instructor name
credits integer Required Credits
mode string Required Mode
startDate datetime Required Start date
endDate datetime Required End date
capacity integer Required Capacity
isActive boolean Required Is active
Body
Response: 201 Created
PUT /api/courses/{id} 200 OK

Update Course

Fully replaces an existing course's data with the values in the request body. A successful update returns 200 OK with response body.

Request Body
Field Type Required Description
name string Required Name
description string Optional Description
courseCode string Required Course code
department string Required Department
instructorName string Required Instructor name
credits integer Required Credits
mode string Required Mode
startDate datetime Required Start date
endDate datetime Required End date
capacity integer Required Capacity
isActive boolean Required Is active
Body
Response: 200 OK
DELETE /api/courses/{id} 204 No Content

Delete Course

Permanently removes a course from the system by their ID. This action is irreversible once deleted, the course record and all associated data cannot be recovered through the API.

Path Parameters
ParameterTypeRequiredDescription
id integer Required ID of the course to delete
Response: 204 No Content