EMS-UGC API Docs
Examinations

Entrance

Entrance Candidates APIs

Base URL: http://192.168.100.250/


Endpoints

MethodEndpointDescription
GET/entrance/candidatesList all candidates
GET/entrance/candidates/{candidate}Get single candidate
POST/entrance/candidatesCreate candidate
PUT/entrance/candidates/{candidate}Update candidate
DELETE/entrance/candidates/{candidate}Delete candidate
POST/entrance/candidates/{candidate}/exam-detailsUpdate exam details
POST/entrance/candidates/{candidate}/resultsUpdate results
POST/entrance/candidates/{candidate}/admitAdmit candidate
GET/entrance/candidates/{candidate}/dataGet candidate data
POST/entrance/candidates/bulk-statusBulk update status
POST/entrance/candidates/bulk-deleteBulk delete candidates

List

GET /entrance/candidates
Accept: application/json

Filters & search are client-side DataTables only — no server-side query params. Response includes candidates, faculties, and programs.


View Single

GET /entrance/candidates/{candidate}
Accept: application/json

Response includes candidate, faculties, and programs.


Create

POST /entrance/candidates
Content-Type: application/json

Request Body:

{
  "first_name": "Ram",
  "middle_name": null,
  "last_name": "Sharma",
  "nepali_name": "राम शर्मा",
  "mobile_number": "9841234567",
  "email": "ram@example.com",
  "date_of_birth": "2055-05-15",
  "gender": "male",
  "marital_status": "unmarried",
  "blood_group": "O+",
  "handicap_category": null,
  "caste_ethnicity": "BRAHMAN",
  "edj": null,
  "disability_status": 0,
  "citizenship_number": "12345",
  "national_id": null,
  "permanent_province": "3",
  "permanent_district": "Chitwan",
  "permanent_local_level": "Bharatpur",
  "permanent_ward_no": "10",
  "permanent_tole": "Sahid Chowk",
  "permanent_house_no": "123",
  "temporary_province": "3",
  "temporary_district": "Chitwan",
  "temporary_local_level": "Bharatpur",
  "temporary_ward_no": "5",
  "temporary_tole": "Pul Chowk",
  "temporary_house_no": "456",
  "father_name": "Hari Sharma",
  "father_contact": "9841234567",
  "father_email": "hari@example.com",
  "father_occupation": "Business",
  "mother_name": "Sita Sharma",
  "mother_contact": "9841234567",
  "mother_email": "sita@example.com",
  "mother_occupation": "Housewife",
  "local_guardian_name": "Gopal Sharma",
  "local_guardian_mobile": "9841234567",
  "local_guardian_relation": "Uncle",
  "local_guardian_address": "Chitwan",
  "level_id": 1,
  "faculty_id": 1,
  "program_id": 7,
  "application_date": "2081-01-01",
  "previous_qualifications": [
    {
      "level": "SLC/SEE",
      "board": "NEB",
      "institution_name": "XYZ School",
      "institution_type": "public",
      "passed_year_ad": 2022,
      "passed_year_bs": 2078,
      "symbol_number": "12345",
      "obtained_marks": 450,
      "division": "first",
      "percentage": 90.0,
      "grade_gpa": "3.6",
      "major_subjects": "Science"
    }
  ]
}

Update

PUT /entrance/candidates/{candidate}
Content-Type: application/json

Request Body: Same shape as Create.


Delete

DELETE /entrance/candidates/{candidate}

Update Exam Details

POST /entrance/candidates/{candidate}/exam-details
Content-Type: application/json

Request Body:

{
  "symbol_number": "ENT001",
  "exam_center": "Bharatpur",
  "exam_date": "2081-03-15",
  "score": 85,
  "percentage": 85.5,
  "rank": 1
}

Update Results

POST /entrance/candidates/{candidate}/results
Content-Type: application/json

Request Body:

{
  "is_selected": 1,
  "selection_date": "2081-04-01"
}

Admit Candidate

POST /entrance/candidates/{candidate}/admit
Content-Type: application/json

Request Body:

{
  "is_admitted": 1,
  "admission_date": "2081-05-01"
}

Get Candidate Data

GET /entrance/candidates/{candidate}/data

Legacy flat JSON format — includes candidate, faculties, programs, qualifications, profile_photo_url, and citizenship_photo_url.


Bulk Status

POST /entrance/candidates/bulk-status
Content-Type: application/json

Request Body:

{
  "ids": [1, 2, 3],
  "status": "selected"
}

Bulk Delete

POST /entrance/candidates/bulk-delete
Content-Type: application/json

Request Body:

{
  "ids": [1, 2, 3]
}

Notes

IssueDetail
create() / edit()No wantsJson() guard — return HTML only
Index filtersClient-side DataTables only, no server-side filter params
Index dataServer-rendered HTML table, not a JSON endpoint. React would need a new paginated JSON endpoint
bulkStatus / bulkDelete / getCandidateDataLegacy response()->json() flat format, not ApiResponse
Previous qualificationsSubmitted as nested array in create/update
Address dropdownsFrom static nepal_location.json file
Model: 50 fields~200 possible form entries with nested qualifications

On this page