Skip to content

API — Recruitment

The HTTP surface of recruitment and staff appraisal — the Staff Requisition Form and its approval chain, published announcements, applicant intake and filtering, technical interviews with weighted scoring, and the separate Evaluation appraisal sub-system.

The public side of recruitment — where candidates actually apply — is not here: it lives on the unauthenticated /Apps/* portals, documented under Administration & platform.

See Recruitment module.

82 actions across 3 controllers

Routing, the permission model, response kinds and error behaviour are described once in the API Overview. Unless a row says otherwise the route is /{Controller}/{Action}, id is a GUID string, and a Details page is a full View while Manage* / Create fragments are PartialViews loaded into a modal.

JobsController

Recruitment end to end — the Staff Requisition Form and its chain, published announcements, applicant intake and filtering, technical interviews with weighted scoring, grading sheets and the recruitment tracker.

Source: NKO.Main/NKO.Main/Controllers/JobsController.cs · route prefix: /Jobs · 48 actions

Route Verb Parameters Permission Returns
/Jobs/AddComment POST IFormCollection collection JobsAddComment JSON / Redirect
/Jobs/AllApplicants GET string sortOrder, string currentFilter, string searchString, string alanguageS, string elanguageS, string tlanguageS, string flanguageS, string wOfficeS, string eOfficeS, string pOfficeS, string NationalityS, string ResCountryS, string GenderS, string dateBirthFromS, string HDRS, string HLRS, string EduS, int? salaryFromS, int? salaryToS, string SalaryS, int? expFromS, int? expToS, string appNameS, int? appIdS, string AnswersS, string hiddenDateRangeS, int? page JobsAllApplicants View
/Jobs/AllApplicants POST List<int> alanguage, List<int> elanguage, List<int> tlanguage, List<int> flanguage, List<int> wOffice, List<int> eOffice, List<int> pOffice, List<int> Nationality, List<int> ResCountry, List<int> Gender, string dateBirthFrom, List<int> HDR, List<int> HLR, List<int> Edu, int? salaryFrom, List<int> Salary, int? salaryTo, int? expFrom, int? expTo, string appName, int? appId, List<string> Answers, string hiddenDateRange, int? page JobsAllApplicants View
/Jobs/AllTrackers GET string sortOrder, string currentFilter, string searchString, int? page JobsAllTrackers View
/Jobs/Applicants GET string sortOrder, string currentFilter, string searchString, int? id, string alanguageS, string elanguageS, string tlanguageS, string flanguageS, string wOfficeS, string eOfficeS, string pOfficeS, string NationalityS, string ResCountryS, string GenderS, string dateBirthFromS, string HDRS, string HLRS, string EduS, int? salaryFromS, int? salaryToS, string SalaryS, int? expFromS, int? expToS, string appNameS, int? appIdS, string AnswersS, string hiddenDateRangeS, string errM, int? page JobsApplicants View / Redirect
/Jobs/Applicants POST int? id, List<int> alanguage, List<int> elanguage, List<int> tlanguage, List<int> wOffice, List<int> eOffice, List<int> pOffice, List<int> Nationality, List<int> ResCountry, List<int> Gender, string dateBirthFrom, List<int> HDR, List<int> Salary, int? expFrom, int? expTo, string appName, int? appId, List<string> Answers, string hiddenDateRange, int? page JobsApplicants View / Redirect
/Jobs/ContextActions POST string id, int operationType, int userType, string idText, int? AssignedId JobsSRFDetails Redirect
/Jobs/ContextActionsApplicant POST string id, int operationType, int userType, string idText JobsDetails Redirect
/Jobs/Create GET — JobsCreate View
/Jobs/Create POST JobVM model JobsCreate View / Redirect
/Jobs/CreateAttachment GET string id, int? fileType JobsSRFDetails PartialView
/Jobs/CreateAttachment POST string attachedFiles, string Description, string id, int? FileTypeId JobsSRFDetails JSON
/Jobs/CreateAttachmentAp GET string id, int? fileType JobsSRFDetails PartialView
/Jobs/CreateAttachmentAp POST string attachedFiles, string Description, string id, int? FileTypeId JobsSRFDetails JSON
/Jobs/CreateTechnicalInterView GET string id JobsCreate Redirect
/Jobs/Delete GET string id JobsDelete PartialView / Redirect
/Jobs/Delete POST NKO.DataAccess.DbModel.Job model JobsDelete PartialView / JSON
/Jobs/DeleteAttachment GET string id JobsSRFDetails Redirect
/Jobs/DeleteAttachmentAp GET string id JobsCreateAttachment Redirect
/Jobs/DeleteQuestion GET int id JobsDeleteQuestion PartialView
/Jobs/DeleteQuestion POST JobQuestion model JobsDeleteQuestion PartialView / JSON
/Jobs/Details GET string id, int? pdf, string errMsg JobsDetails View / Redirect
/Jobs/Edit GET string id, string errorMessage, string errorQuestions, string errorPercents JobsCreate View
/Jobs/Edit POST JobVM model JobsSRFDetails Redirect
/Jobs/EditAnnouncement POST NKO.DataAccess.DbModel.Job model, List<int> users JobsSRFDetails Redirect
/Jobs/Export GET string id JobsExport View / Redirect
/Jobs/ExportGradingSheet GET int? id, string sortOrder, string currentFilter, string searchString, string alanguageS, string elanguageS, string tlanguageS, string flanguageS, string wOfficeS, string eOfficeS, string pOfficeS, string NationalityS, string ResCountryS, string GenderS, string dateBirthFromS, string HDRS, string HLRS, string EduS, int? salaryFromS, int? salaryToS, string SalaryS, int? expFromS, int? expToS, string appNameS, int? appIdS, string AnswersS, string hiddenDateRangeS JobsApplicants Redirect
/Jobs/GetUserCodes GET string search General JSON
/Jobs/GetUserCodesByDept GET string search, int userId General JSON
/Jobs GET int? type, int? page JobsIndex View
/Jobs/Interview GET int id, int? page JobsInterview View
/Jobs/Interviews GET int? page JobsIndex View
/Jobs/PositionQuestions GET string id, string errMsg, string msg JobsCreate View
/Jobs/PositionQuestions POST string id, List<JobPositionQuestionVM> jobPositionQuestionVM JobsCreate Redirect
/Jobs/ReferenceDetials GET string id JobsDetails View / Redirect
/Jobs/SRF GET string search_param, string Ssearch_param, string sortOrder, int? filterYear, string searchString, string ScurrentFilter, int? filterMonth, int? filterStatus, int? filterProject, int? page JobsSRF View
/Jobs/SRFDetails GET string id, int? pdf, string errMsg JobsSRFDetails View
/Jobs/SRFEdit GET string id, string errorMessage JobsCreate View
/Jobs/SRFEdit POST JobVM model JobsCreate View / Redirect
/Jobs/TechnicalInterView GET string id, string errMsg, string msg, bool? isExport JobsCreate View
/Jobs/TechnicalInterView POST string id, DateTime? interviewDate, List<ApplicantTechnicalMarkVM> applicantTechnicalMarkVMs JobsCreate Redirect
/Jobs/TechnicalInterViewContextActions POST string id, int operationType, int userType, string idText, int? AssignedId JobsCreate Redirect
/Jobs/Tracker GET int? id, string msg, string errMsg JobsTracker View / Redirect
/Jobs/Tracker POST RecruitmentTracker model, int? IsClosed JobsTracker Redirect
/Jobs/UpdateQuestions POST JobDetailsVM jobDetails JobsSRFDetails Redirect
/Jobs/UpdateStage POST int? id, bool value, int? cType JobsApplicants Redirect / Content
/Jobs/UploadFiles POST int id, string desc JobsSRFDetails Content
/Jobs/UploadFilesAp POST int id, string desc JobsSRFDetails Content

EvaluationController

The staff appraisal sub-system: evaluation requests, competency and objective elements, degree scoring and the Officer → Manager → HR chain.

Source: NKO.Main/NKO.Main/Controllers/EvaluationController.cs · route prefix: /Evaluation · 26 actions

Route Verb Parameters Permission Returns
/Evaluation/AddComment POST IFormCollection collection EvaluationDetails JSON / Redirect
/Evaluation/AddETechnicalElement GET int? levelId EvaluationAddElement View
/Evaluation/AddETechnicalElement POST EvaluationElement element EvaluationAddElement JSON
/Evaluation/AddEvaluationElement GET — EvaluationAddElement View
/Evaluation/AddEvaluationElement POST EvaluationElement element EvaluationAddElement JSON
/Evaluation/AddObjective GET int id, int type EvaluationDetails View
/Evaluation/AddObjective POST EvaluationObjective model EvaluationDetails View / JSON
/Evaluation/ContextActions POST string id, int operationType, int userType, string idText EvaluationDetails Redirect
/Evaluation/Create GET — EvaluationCreate View
/Evaluation/Create POST Evaluation model EvaluationCreate View / JSON
/Evaluation/DeleteEvaluation GET int? id EvaluationDelete PartialView / Redirect
/Evaluation/DeleteEvaluation POST Evaluation model EvaluationDelete PartialView / JSON
/Evaluation/DeleteObjective GET int? id EvaluationDelete PartialView / Redirect
/Evaluation/DeleteObjective POST EvaluationObjective model EvaluationDelete PartialView / JSON
/Evaluation/Details GET string id, string msg, int? pdf EvaluationDetails View / Redirect
/Evaluation/EditDegree GET int id, int type EvaluationDetails View
/Evaluation/EditDegree POST EvaluationsDegree model, int type EvaluationDetails View / JSON
/Evaluation/EditEvaluation GET int? id EvaluationEdit View / Redirect
/Evaluation/EditEvaluation POST EvaluationVM modelVM EvaluationDetails Redirect
/Evaluation/EditObjective GET int id EvaluationDetails View
/Evaluation/EditObjective POST EvaluationObjective model EvaluationDetails View / JSON
/Evaluation/EditObjectiveDegree GET int id, int type EvaluationDetails View
/Evaluation/EditObjectiveDegree POST EvaluationObjective model, int type EvaluationDetails View / JSON
/Evaluation/EvaluationElement GET string sortOrder, string currentFilter, string searchString, int? page EvaluationElement View
/Evaluation GET int? filterYear, int? filterMonth, int? filterStatus, int? page EvaluationIndex View
/Evaluation/ViewPositionElements GET int id, int? page EvaluationElement View

QuestionAnswerController

The question bank used to build interview scorecards.

Source: NKO.Main/NKO.Main/Controllers/QuestionAnswersController.cs · route prefix: /QuestionAnswer · 8 actions

Route Verb Parameters Permission Returns
/QuestionAnswer/CreateQuestionAnswer GET — JobControlPanel View
/QuestionAnswer/CreateQuestionAnswer POST CreateEditQuestionAnswersVM createEditQuestionAnswersVM JobControlPanel View / Redirect
/QuestionAnswer/DeleteQuestionAnswer GET string jobQuestionAnswerId JobControlPanel PartialView / Redirect
/QuestionAnswer/DeleteQuestionAnswer POST QuestionAnswer questionAnswer JobControlPanel PartialView / JSON
/QuestionAnswer/EditQuestionAnswer GET string JobQuestionAnswerId JobControlPanel View / Redirect
/QuestionAnswer/EditQuestionAnswer POST CreateEditQuestionAnswersVM createEditAnswerVM JobControlPanel View / Redirect
/QuestionAnswer GET int? page, string AnswerName, string QuestionGroup, string ArAnswerName, string JobAnswersCount JobControlPanel View
/QuestionAnswer/QuestionAnswerDetails GET string JobQuestionAnswerId, string msg JobControlPanel View / Redirect