API Documentation

RESTful API for integrating SMERP EDU with your systems

v1.0.0
Base URL: https://api.smerp.edu/v1

Search

Categories

GET
/api/v1/students
Auth Required

Retrieve a list of all students

Query Parameters:

pageinteger- Page number for pagination
limitinteger- Number of records per page
searchstring- Search by student name or ID
statusstring- Filter by status (active, inactive, graduated)

Response:

{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "firstName": "John",
      "lastName": "Doe",
      "email": "john.doe@example.com",
      "status": "active",
      "enrollmentDate": "2024-09-01T00:00:00Z"
    }
  ],
  "meta": {
    "total": 150,
    "page": 1,
    "limit": 10
  }
}
POST
/api/v1/students
Auth Required

Create a new student record

Request Body:

{
  "firstName": "Jane",
  "lastName": "Smith",
  "email": "jane.smith@example.com",
  "dateOfBirth": "2005-03-15",
  "programId": "550e8400-e29b-41d4-a716-446655440001"
}

Response:

{
  "id": "550e8400-e29b-41d4-a716-446655440002",
  "firstName": "Jane",
  "lastName": "Smith",
  "email": "jane.smith@example.com",
  "status": "active",
  "createdAt": "2025-11-25T10:30:00Z"
}
GET
/api/v1/courses
Auth Required

Retrieve all available courses

Query Parameters:

programIduuid- Filter courses by program
semesterstring- Filter by semester

Response:

{
  "data": [
    {
      "id": "course-001",
      "code": "CS101",
      "title": "Introduction to Computer Science",
      "credits": 3,
      "instructorId": "inst-001"
    }
  ]
}
POST
/api/v1/enrollments
Auth Required

Enroll a student in a course

Request Body:

{
  "studentId": "550e8400-e29b-41d4-a716-446655440000",
  "courseId": "course-001",
  "semester": "Fall 2025"
}

Response:

{
  "id": "enroll-001",
  "studentId": "550e8400-e29b-41d4-a716-446655440000",
  "courseId": "course-001",
  "status": "enrolled",
  "enrolledAt": "2025-11-25T10:30:00Z"
}
GET
/api/v1/finance/transactions
Auth Required

Retrieve financial transactions

Query Parameters:

studentIduuid- Filter by student
startDatedate- Start date for date range filter
endDatedate- End date for date range filter

Response:

{
  "data": [
    {
      "id": "txn-001",
      "type": "tuition",
      "amount": 5000.00,
      "currency": "USD",
      "status": "completed",
      "date": "2025-09-01T00:00:00Z"
    }
  ]
}