The Jobs endpoints allow clients to manage job postings within the Ninjahire system. Clients can create, retrieve, update, and manage scheduling settings for jobs, as well as track interview schedules. This ensures complete control over the lifecycle of a job posting, from its creation to the scheduling of candidate interviews. The API also offers flexibility to handle various scheduling preferences, time zone adjustments, and interview settings. With these endpoints, clients can easily integrate job management into their recruitment workflows, enhancing efficiency and reducing manual intervention.
Get All Jobs with Pagination
Fetch a list of all job postings available in the Ninjahire system. You can use optional query parameters to filter the results based on criteria such as status, location, or job type.
query Parameters
pageinteger · requiredPage number
sizeinteger · requiredNumber of items per page
source_idstringsource id of the job
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Successful operation
dataobject[]countintegerThe total number of job postings retrieved.
Add a new job
Submit a new job posting to the Ninjahire system. This includes details such as job title, description, requirements, location, and other related metadata.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
titlestring · requiredindustrystring · requiredstate_namestring · requiredcountrystring · requiredrecruiter_namestring · requiredrecruiter_emailstring · requiredrecruiter_work_phone_nostring · requiredstatusstring · requireddescstring · requiredsource_idstring · required
client_namestringjob_codestringaddressstringworkplace_typestringcitystringzip_codestringemployment_typestringdurationstringstart_datestring · date-timeend_datestring · date-timeposting_datestring · date-timepay_frequencystringmin_pay_ratenumbermax_pay_ratenumberpay_rate_currencystring
Responses
Created
idstringtitlestringclient_namestringindustrystringaddressstringworkplace_typestringcitystringstate_namestringzip_codestringcountrystringemployment_typestringdurationstringstart_datestring · dateend_datestring · dateposting_datestring · datepay_frequencystringmin_pay_ratenumbermax_pay_ratenumberpay_rate_currencystringrecruiter_namestringrecruiter_emailstringrecruiter_work_phone_nostringstatusstringdescstring
Get Job by ID
Fetch details of a specific job posting by providing its unique job ID. The response will include all available information about the job, such as title, description, and status.
path Parameters
job_idstring · requiredID of the job to retrieve
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Successful operation
idstringtitlestringclient_namestringindustrystringaddressstringworkplace_typestringcitystringstate_namestringzip_codestringcountrystringemployment_typestringdurationstringstart_datestring · dateend_datestring · dateposting_datestring · datepay_frequencystringmin_pay_ratenumbermax_pay_ratenumberpay_rate_currencystringrecruiter_namestringrecruiter_emailstringrecruiter_work_phone_nostringstatusstringdescstring
Update Job by ID
Update an existing job posting's details by providing the job ID. You can modify fields such as the job description, requirements, and status.
path Parameters
job_idstring · requiredID of the job to retrieve
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
titlestring · required
client_namestringindustrystringaddressstringworkplace_typestringcitystringstate_namestringzip_codestringcountrystringemployment_typestringdurationstringstart_datestring · dateend_datestring · dateposting_datestring · datepay_frequencystringmin_pay_ratenumbermax_pay_ratenumberpay_rate_currencystringrecruiter_namestringrecruiter_emailstringrecruiter_work_phone_nostringstatusstringdescstring
Responses
Successful operation
idstringtitlestringclient_namestringindustrystringaddressstringworkplace_typestringcitystringstate_namestringzip_codestringcountrystringemployment_typestringdurationstringstart_datestring · dateend_datestring · dateposting_datestring · datepay_frequencystringmin_pay_ratenumbermax_pay_ratenumberpay_rate_currencystringrecruiter_namestringrecruiter_emailstringrecruiter_work_phone_nostringstatusstringdescstring
Get job scheduling status
Retrieve the scheduling status for a specific job. This endpoint returns whether scheduling is currently enabled or disabled for the given job, along with the job ID. Use this to check if a job is actively being scheduled for interviews.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Created
schedulingboolean
Update job scheduling status
Enable or disable scheduling for a specific job by updating the scheduling parameter. Provide the job ID and set the scheduling parameter to true or false to control whether interviews can be scheduled for the job. This allows you to turn scheduling on or off as needed.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Created
idstringschedulingboolean
Retrieve job scheduling settings
Fetch the scheduling settings configured for a specific job. This includes all rules and preferences that define how and when interviews can be scheduled, such as the daily scheduling window (start and end times), the maximum number of attempts to contact candidates, retry intervals, allowed days of the week, and notification settings (email, SMS, and voicemail). These settings ensure that interviews are scheduled in a way that aligns with the company's preferences and candidate availability.
path Parameters
job_idstring · requiredID of the job to retrieve
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Call schedule setting found
window_start_timestring · pattern:^([01]\d|2[0-3]):([0…window_end_timestring · pattern:^([01]\d|2[0-3]):([0…daily_attemptsinteger · min: 0 · max: 5total_attemptsinteger · min: 0retry_intervalinteger · min: 0days_of_weekinteger[]email_enabledbooleanemail_notify_minutesinteger · min: 0email_repeatbooleansms_enabledbooleansms_notify_minutesinteger · min: 0sms_repeatbooleancall_schedule_minutesinteger · min: 0namestring
Update job scheduling settings
Modify the scheduling settings for a specific job by providing updated rules or constraints. This could include adjusting the time window for interviews, setting the number of daily and total contact attempts, modifying retry intervals, and configuring notification preferences such as email and SMS alerts. The scheduling settings ensure that interviews are arranged efficiently and within the defined parameters, allowing for flexible yet controlled scheduling workflows.
path Parameters
jobIdstring · requiredID of the job to retrieve
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
window_start_timestring · pattern:^([01]\d|2[0-3]):([0…· requiredwindow_end_timestring · pattern:^([01]\d|2[0-3]):([0…· required
daily_attemptsinteger · min: 0 · max: 5total_attemptsinteger · min: 0retry_intervalinteger · min: 0days_of_weekinteger[]email_enabledbooleanemail_notify_minutesinteger · min: 0email_repeatbooleansms_enabledbooleansms_notify_minutesinteger · min: 0sms_repeatbooleanvoicemail_enabledbooleanrepeat_callingbooleancall_schedule_minutesinteger · min: 0defaultbooleannamestring
Responses
Created
window_start_timestring · pattern:^([01]\d|2[0-3]):([0…window_end_timestring · pattern:^([01]\d|2[0-3]):([0…daily_attemptsinteger · min: 0 · max: 5total_attemptsinteger · min: 0retry_intervalinteger · min: 0days_of_weekinteger[]email_enabledbooleanemail_notify_minutesinteger · min: 0email_repeatbooleansms_enabledbooleansms_notify_minutesinteger · min: 0sms_repeatbooleanvoicemail_enabledbooleanrepeat_callingbooleancall_schedule_minutesinteger · min: 0namestring
