Contains API calls that can be used against the Vacancy entity.
1.Get Vacancy By Id
Returns a specific vacancy based on the id parameter.In order to access this endpoint ensure that you do a GET request with an Authorization header containing your access token.
Parameters:
** id**: string - id of the vacancy
** Headers:**
** Authorization**: {token}
Result codes
403 Forbidden
200 OK
400 Bad request
500 Internal server error
Response
Calling this endpoint will return a full JSON object for the vacancy associated with the id on the url. The main properties of a vacancy are nested/grouped under a "main" property VacancyInfo.
{
**VacancyInfo **: { ... }
}
Vacancy properties
Please note that these properties are second level properties and thus returned/nested under a first level property VacancyInfo.
Field | Type | Description |
---|---|---|
Id |
int |
Vacancy Identifier |
CityId |
int |
Internal Id for the City |
CityName |
string |
Name of the city |
ClosedDate |
datetime |
The date the vacancy is publicly removed from the career portal and job posting partners. (GMT+2) |
CompanyId |
int |
Internal Id for the company associated with the vacancy |
CountryId |
int |
Internal country Id |
Created |
datetime |
Created date (GMT+2) |
CreatedById |
int |
Internal user who created the vacancy |
CurrencyId |
int |
Internal Id of the salary currency for this vacancy |
Address1 |
Name of the province |
|
Address3 |
Post Code |
|
DaysOpen |
int |
Number of days since that vacancy has been posted |
Deleted |
datetime |
When was the vacancy was deleted (GMT+2) |
DeletedById |
int |
Internal Id of the user who deleted the vacancy |
DepartmentId |
int |
Internal Id for Department or Business Unit for this vacancy in the company |
DepartmentName |
string |
Department or Business Unit for this vacancy in the company |
Description |
string |
Job description |
Disability |
bool |
Indicates if the vacancy is only opened to candidates with a disability or not |
EmploymentEquity |
bool |
Indicates if the vacancy is only open to EE candidates or not |
Hash |
string |
Internally generated unique key for the vacancy |
InternalJobCode |
string |
Your internal job code or requisition Id |
InternalNotes |
string |
Vacancy Internal notes |
InternalSalaryMax |
decimal |
Internal max salary, not exposed |
InternalSalaryMin |
decimal |
Internal min salary, not exposed |
JobTitle |
string |
The title for the vacancy |
PostDate |
datetime |
The date the vacancy is publicly visible on the career portal and job posting partners (GMT+2) |
ProvinceId |
int |
Internal Id for the province |
PublishInternal |
bool |
These vacancies are not listed on job boards or career portal. |
PublishInternalStartDate |
datetime |
The date the vacancy will be visible on the employee portal (GMT+2) |
PublishInternalSchedule |
datetime |
The date the vacancy will be removed from the employee portal (GMT+2) |
SalaryMax |
decimal |
Max vacancy salary |
SalaryMin |
decimal |
Min vacancy salary |
SendToFreeJobsBoards |
bool |
Publish vacancy job on free job boards. |
Telecommute |
bool |
Specifies whether this is a telecommute or work from home vacancy |
Updated |
datetime |
Last updated date (GMT+2) |
UpdatedById |
int |
Internal Id of the user who last updated the vacancy. |
VacancyStatusId |
int |
The current status of the vacancy. |
VacancyStatus |
enum |
The current status of the vacancy. |
PipeLineId |
int |
The hiring pipeline attached to the vacancy (see Custom Hiring Pipelines for available pipeline stages) |
ExperienceLevelId |
int |
Internal Id for minimum experience level. |
EmploymentTypeId |
int |
Internal id for type of employment. |
FunctionalAreaId |
int |
Internal Id for Vacancy functional area. |
IndustryId |
int |
Internal Id for the company primary industry. |
ReplacementVacancy |
bool |
True if Replacement Vacancy |
InBudget |
bool |
True if In Budget |
ContractLength |
string |
Only if EmploymentTypeId = 2 |
Custom Questions
Id |
int |
|
Question |
string |
Question Field |
Type |
int |
1 = Text |
RequirementType |
int |
1 = Required |
Rank |
int |
Order |
Options |
list of objects |
See Custom Question Option Below. Only applies to Radio Button an Check Box Questions |
Custom Question Option
QuestionId |
int |
Id associated with Question |
Option |
string |
Option field |
MoveTo |
int |
Move candidate to |
Score |
Not Used |
Questionnaire
Id | int | |
Title | string | Title of questionnaire |
VacancyId | int | Id of associated vacancy |
Questions | list of objects | See Questionnaire Question |
Questionnaire Question
Id |
int |
|
QuestionnaireId |
int |
Id associated with Questionnaire |
Question |
string |
Question field |
Type |
int |
1 = Text |
Order |
int |
Order displayed |
Required |
bool |
Is answer required |
Options |
List of objects |
See Questionnaire Option |
Questionnaire Option
Id |
int |
|
QuestionId |
int |
Id associated with Question |
Answer |
string |
Answer field |
MoveTo |
int |
Move candidate to |
Score |
int |
Score based on option |
Sample Result
{
"VacancyInfo": {
"Id": 1912,
"Created": "2018-07-26T09:24:49.833",
"CreatedById": 1605,
"Updated": "2019-02-05T11:45:24.48",
"UpdatedById": 269,
"Deleted": null,
"DeletedById": 0,
"PostDate": "2019-02-05T11:44:40.407",
"JobTitle": "Internal Marketing Assistant ",
"InternalJobCode": null,
"Description": "Our client, in the Shipping industry, requires an Internal Marketing Assistant for their Cape Town office",
"EmploymentTypeId": 1,
"ExperienceLevelId": 1,
"IndustryId": 76,
"CompanyId": 103,
"FunctionalAreaId": 24,
"CurrencyId": 1,
"SalaryMin": null,
"SalaryMax": null,
"EmploymentEquity": false,
"Disability": false,
"CountryId": 1,
"Address1": "Western Cape",
"CityName": "Cape Town",
"CityId": 375,
"ProvinceId": null,
"Address3": "6665",
"Telecommute": false,
"InternalSalaryMin": null,
"InternalSalaryMax": null,
"InternalNotes": null,
"VacancyStatusId": 2,
"PipeLineId": 1,
"VacancyStatus": 2,
"DaysOpen": 48,
"DepartmentId": 3,
"DepartmentName": "other",
"SendToFreeJobsBoards": true,
"Hash": "j82iua",
"IdParam": null,
"DivisionSubDomain": null,
"ClosedDate": null,
"PublishInternalSchedule": null,
"PublishInternal": null,
"DivisionId": null,
"BusinessUnitId": null,
"BusinessUnitName": null,
"DivisionName": null,
"LogoId": null,
"AgencyClientId": 1106,
"ReplacementVacancy": true,
"InBudget": true,
"ApplicationForm": {
"Id": 5198,
"VacancyId": 5197,
"Name": 2,
"Email": 2,
"Ethnicity": 0,
"Phone": 2,
"Address": 0,
"Photo": 0,
"CvUpload": 2,
"ExperienceSummary": 0,
"WorkHistory": 0,
"Education": 0,
"CoverLetter": 0,
"Gender": 2,
"Identification": 2,
"AdditionalDocuments": 2
},
"CustomQuestions": [
{
"VacancyId": 5197,
"Id": 13213,
"CompanyId": 0,
"Question": "Question 1",
"Type": 1,
"RequirementType": 1,
"Rank": 7,
"Options": null,
},
{
"VacancyId": 5197,
"Id": 13214,
"CompanyId": 0,
"Question": "Question 2",
"Type": 2,
"RequirementType": 2,
"Rank": 8,
"Options": [
{
"Id": 20580,
"QuestionId": 13214,
"Option": "Option 1",
"MoveTo": null,
"Score": null,
},
{
"Id": 20581,
"QuestionId": 13214,
"Option": "Option 2",
"MoveTo": 2,
"Score": null,
}
]
},
{
"VacancyId": 5197,
"Id": 13216,
"CompanyId": 0,
"Question": "Question 4",
"Type": 4,
"RequirementType": 1,
"Rank": 10,
"Options": null,
}
],
"Questionnaire": {
"Id": 2657,
"Title": "My Questionnaire",
"VacancyId": 5197,
"Questions": [
{
"Id": 5604,
"QuestionnaireId": 2657,
"Question": "Question 1",
"Type": 1,
"Order": 1,
"Required": true,
"Options": []
},
{
"Id": 5605,
"QuestionnaireId": 2657,
"Question": "Question 2",
"Type": 2,
"Order": 2,
"Required": false,
"Options": [
{
"Id": 8885,
"QuestionId": 5605,
"Answer": "Option 1",
"MoveTo": 4,
"Score": 60
},
{
"Id": 8886,
"QuestionId": 5605,
"Answer": "Option 2",
"MoveTo": 3,
"Score": 60
}
]
},
{
"Id": 5606,
"QuestionnaireId": 2657,
"Question": "Question 3",
"Type": 3,
"Order": 3,
"Required": false,
"Options": [
{
"Id": 8887,
"QuestionId": 5606,
"Answer": "Option 1",
"MoveTo": 0,
"Score": 50
},
{
"Id": 8888,
"QuestionId": 5606,
"Answer": "Option 2",
"MoveTo": 0,
"Score": 50
}
]
},
{
"Id": 5607,
"QuestionnaireId": 2657,
"Question": "Question 4",
"Type": 4,
"Order": 4,
"Required": false,
"Options": []
}
]
}
}
}
2.Get Live Vacancies
Returns a paged list of all live vacancies.Returns 50 records at a time
Parameters
Name | Type | Required | Description |
---|---|---|---|
page | int | Y | Page umber.Returns 50 at a time.Starts at 1. |
includeInternal | bool | N | Specifies whether the call should return Published as well as Published Internal vacancies.Default is false. |
** Headers:**
** Authorization**: {token}
Result codes
403 Forbidden
200 OK
400 Bad request
500 Internal server error
Response
Calling this method will return a collection of vacancy objects.
Sample Result
{
"Vacancies": [
{
"Id": 18,
"Created": "2017-07-17T14:25:12.087",
"CreatedById": 28,
"Updated": "2017-07-17T14:30:36.12",
"UpdatedById": 28,
"Deleted": null,
"DeletedById": 0,
"PostDate": "2017-07-17T14:30:36.07",
"JobTitle": "National Sales Director",
"InternalJobCode": "JOB-123",
"Description": "<strong>Company Overview</strong>\n<p>Introduction</strong>",
"EmploymentTypeId": 1,
"ExperienceLevelId": 5,
"IndustryId": 67,
"CompanyId": 20,
"FunctionalAreaId": 34,
"CurrencyId": 1,
"SalaryMin": null,
"SalaryMax": null,
"EmploymentEquity": false,
"Disability": false,
"CountryId": 1,
"Address1": "Gauteng",
"CityName": "Johannesburg",
"CityId": 18,
"ProvinceId": null,
"Address3": "2001",
"Telecommute": false,
"InternalSalaryMin": 500000,
"InternalSalaryMax": 750000,
"InternalNotes": null,
"VacancyStatusId": 2,
"PipeLineId": 1,
"VacancyStatus": 2,
"DaysOpen": 584,
"DepartmentId": 16,
"DepartmentName": "Sales",
"SendToFreeJobsBoards": true,
"Hash": "5kn8qn",
"IdParam": null,
"DivisionSubDomain": null,
"ClosedDate": null,
"PublishInternalSchedule": null,
"PublishInternal": null,
"DivisionId": null,
"BusinessUnitId": null,
"BusinessUnitName": null,
"DivisionName": null,
"LogoId": null,
"AgencyClientId": null
}
],
"Total": 1
}
3.Search
Returns a paged list of all live vacancies based on search criteria.Returns 50 records at a time
Parameters
Name | Type | Required | Description |
---|---|---|---|
Page | int | Y | Page umber.Returns 50 at a time.Starts at 1. |
IncludeInternal | bool | N | Specifies whether the call should return Published as well as Published Internal vacancies.Default is false. |
CityId | int | N | Optional CityId |
ProvinceId | int | N | Optional ProvinceId |
FunctionalAreaId | int | N | Optional FunctionalAreaId(Category) |
Title | string | N | Title of the vacancy.Tries to match vacancies with the exact or a partial title if the parameter contains a value. |
VacancyStatusIds | Array of Int | N | A list of vacancy status ids to search for. |
DepartmentId | int | N | Internal Id for Department for this vacancy in the company |
BusinessUnitId | int | N | Internal Id Business Unit for this vacancy in the company |
JobGradeId | int | N | Job Grade Id for the vacancy if using custom Jobgrades |
JobGradeName | string | N | Job Grade name of the vacancy |
VacancyStatusId | int | N | The current status of the vacancy. |
CreatedById | int | N | Internal user who created the vacancy |
Sample Request Body
{
"Page": 1,
"IncludeInternal":false,
"CityId":992,
"ProvinceId":3,
"FunctionalAreaId":34,
"Title":"",
"VacancyStatusIds": [1,2,3],
"DepartmentId": 1,
"BusinessUnitId": 2,
"JobGradeId": 3,
"JobGradeName": 4,
"VacancyStatusId": 5,
"CreatedById": 6
}
Headers:
Authorization: {token}
Result codes
403 Forbidden
200 OK
400 Bad request
500 Internal server error
Response
Calling this method will return a collection of vacancy objects.
Sample Result
{
"Vacancies": [
{
"Id": 18,
"Created": "2017-07-17T14:25:12.087",
"CreatedById": 28,
"Updated": "2017-07-17T14:30:36.12",
"UpdatedById": 28,
"Deleted": null,
"DeletedById": 0,
"PostDate": "2017-07-17T14:30:36.07",
"JobTitle": "National Sales Director",
"InternalJobCode": "JOB-123",
"Description": "<strong>Company Overview</strong>\n<p>Introduction</strong>",
"EmploymentTypeId": 1,
"ExperienceLevelId": 5,
"IndustryId": 67,
"CompanyId": 20,
"FunctionalAreaId": 34,
"CurrencyId": 1,
"SalaryMin": null,
"SalaryMax": null,
"EmploymentEquity": false,
"Disability": false,
"CountryId": 1,
"Address1": "Gauteng",
"CityName": "Johannesburg",
"CityId": 18,
"ProvinceId": null,
"Address3": "2001",
"Telecommute": false,
"InternalSalaryMin": 500000,
"InternalSalaryMax": 750000,
"InternalNotes": null,
"VacancyStatusId": 2,
"PipeLineId": 1,
"VacancyStatus": 2,
"DaysOpen": 584,
"DepartmentId": 16,
"DepartmentName": "Sales",
"SendToFreeJobsBoards": true,
"Hash": "5kn8qn",
"IdParam": null,
"DivisionSubDomain": null,
"ClosedDate": null,
"PublishInternalSchedule": null,
"PublishInternal": null,
"DivisionId": null,
"BusinessUnitId": null,
"BusinessUnitName": null,
"DivisionName": null,
"LogoId": null,
"AgencyClientId": null
}
],
"Total": 1
}
4.Count
Returns the total count for all published vacancies.Optionally returns a count of all published and published internal vacancies.
Parameters
Name | Type | Required |
---|---|---|
includeInternal | bool | N |
** Headers:**
** Authorization**: {token}
Result codes
403 Forbidden
200 OK
400 Bad request
500 Internal server error
Response
Calling this will return an integer representing the vacancy count e.g 30.If there are no published vacancies in the system the result of the call will be 0.
5. Listing
Returns a paged list of all live vacancies and application requirements
Response
Vacancy Information (See Get Vacancy)
Application Form
Custom Questions
Questionnaire
Application Form
Application Form Fields which are required of the candidate. All possible application form fields are returned with a code indicating whether the field is required, optional or turned off.
Application Form Field Types:
0: Off
1: Optional
2: Required
Field | Type | Description |
---|---|---|
Name |
int |
Candidate Name Field |
int |
Email field |
|
Ethnicity |
int |
Ethnicity Field |
Phone |
int |
Phone Number Field |
Address |
int |
Address Field |
Photo |
int |
Photo as upload image (Not available yet) |
CvUpload |
int |
Upload CV document Field. Refer to "Upload Candidate Document" Endpoint for submitting Documents. |
ExperienceSummary |
int |
Summary Field |
WorkHistory |
int |
Work History Field. Refer to "WorkHistories" on Candidate Post |
Education |
int |
Education Field |
CoverLetter |
int |
CoverLetter Field |
Gender |
int |
Gender Field |
Identification |
int |
ID Number Field |
AdditionalDocuments |
int |
Additional Documents Field. |
Custom Questions
Id |
int |
|
Question |
string |
Question Field |
Type |
int |
1 = Text |
RequirementType |
int |
1 = Required |
Rank |
int |
Order |
Options |
list of objects |
See Custom Question Option Below. Only applies to Radio Button an Check Box Questions |
Custom Question Option
QuestionId |
int |
Id associated with Question |
Option |
string |
Option field |
MoveTo |
int |
Move candidate to |
Score |
Not Used |
Questionnaire
Id | int | |
Title | string | Title of questionnaire |
VacancyId | int | Id of associated vacancy |
Questions | list of objects | See Questionnaire Question |
Questionnaire Question
Id |
int |
|
QuestionnaireId |
int |
Id associated with Questionnaire |
Question |
string |
Question field |
Type |
int |
1 = Text |
Order |
int |
Order displayed |
Required |
bool |
Is answer required |
Options |
List of objects |
See Questionnaire Option |
Questionnaire Option
Id |
int |
|
QuestionId |
int |
Id associated with Question |
Answer |
string |
Answer field |
MoveTo |
int |
Move candidate to |
Score |
int |
Score based on option |
Sample Result
[
{
"VacancyInfo": {
"Id": 5197,
"Created": "2019-04-03T11:19:44.967",
"CreatedById": 282,
"Updated": "2020-03-05T22:09:40.71",
"UpdatedById": 6,
"Deleted": null,
"DeletedById": 0,
"PostDate": "2020-03-05T22:09:38.21",
"JobTitle": "Accountant",
"InternalJobCode": null,
"Description": "Description",
"EmploymentTypeId": 1,
"ExperienceLevelId": 4,
"IndustryId": 54,
"CompanyId": 3,
"FunctionalAreaId": 2,
"CurrencyId": 1,
"SalaryMin": null,
"SalaryMax": null,
"EmploymentEquity": false,
"Disability": false,
"CountryId": 1,
"Address1": "Western Cape",
"CityName": "Cape Town",
"CityId": 379,
"InternationalCity": null,
"ProvinceId": 9,
"Address3": "1212121",
"Telecommute": false,
"VacancyStatusId": 2,
"PipeLineId": 1,
"VacancyStatus": 2,
"DaysOpen": 189,
"DepartmentId": 3,
"DepartmentName": "other",
"SendToFreeJobsBoards": true,
"Hash": "wpgdmf",
"IdParam": null,
"DivisionSubDomain": null,
"ClosedDate": null,
"PublishInternalSchedule": null,
"PublishInternal": null,
"DivisionId": 26,
"BusinessUnitId": null,
"BusinessUnitName": null,
"DivisionName": "Head Office",
"LogoId": null,
"AgencyClientId": Null,
},
"ApplicationForm": {
"Id": 5198,
"VacancyId": 5197,
"Name": 2,
"Email": 2,
"Ethnicity": 0,
"Phone": 2,
"Address": 0,
"Photo": 0,
"CvUpload": 2,
"ExperienceSummary": 0,
"WorkHistory": 0,
"Education": 0,
"CoverLetter": 0,
"Gender": 2,
"Identification": 2,
"AdditionalDocuments": 2
},
"CustomQuestions": [
{
"VacancyId": 5197,
"Id": 13213,
"CompanyId": 0,
"Question": "Question 1",
"Type": 1,
"RequirementType": 1,
"Rank": 7,
"Options": null,
},
{
"VacancyId": 5197,
"Id": 13214,
"CompanyId": 0,
"Question": "Question 2",
"Type": 2,
"RequirementType": 2,
"Rank": 8,
"Options": [
{
"Id": 20580,
"QuestionId": 13214,
"Option": "Option 1",
"MoveTo": null,
"Score": null,
},
{
"Id": 20581,
"QuestionId": 13214,
"Option": "Option 2",
"MoveTo": 2,
"Score": null,
}
]
},
{
"VacancyId": 5197,
"Id": 13216,
"CompanyId": 0,
"Question": "Question 4",
"Type": 4,
"RequirementType": 1,
"Rank": 10,
"Options": null,
}
],
"Questionnaire": {
"Id": 2657,
"Title": "My Questionnaire",
"VacancyId": 5197,
"Questions": [
{
"Id": 5604,
"QuestionnaireId": 2657,
"Question": "Question 1",
"Type": 1,
"Order": 1,
"Required": true,
"Options": []
},
{
"Id": 5605,
"QuestionnaireId": 2657,
"Question": "Question 2",
"Type": 2,
"Order": 2,
"Required": false,
"Options": [
{
"Id": 8885,
"QuestionId": 5605,
"Answer": "Option 1",
"MoveTo": 4,
"Score": 60
},
{
"Id": 8886,
"QuestionId": 5605,
"Answer": "Option 2",
"MoveTo": 3,
"Score": 60
}
]
},
{
"Id": 5606,
"QuestionnaireId": 2657,
"Question": "Question 3",
"Type": 3,
"Order": 3,
"Required": false,
"Options": [
{
"Id": 8887,
"QuestionId": 5606,
"Answer": "Option 1",
"MoveTo": 0,
"Score": 50
},
{
"Id": 8888,
"QuestionId": 5606,
"Answer": "Option 2",
"MoveTo": 0,
"Score": 50
}
]
},
{
"Id": 5607,
"QuestionnaireId": 2657,
"Question": "Question 4",
"Type": 4,
"Order": 4,
"Required": false,
"Options": []
}
]
}
}