Skip to content
GET /api/v1/applicant-labels/all - all applicant labels of the organization, each with id, title, and color.
- Use the returned ids with the
label_ids filter of POST /api/v1/applicants/search.
- Requires permission
recruiting_module.
GET /api/v1/candidates/{candidate_id}/feedbacks - every scorecard feedback of a candidate with its questions and answers.
- Each answer returns
question_title, question_type, answer_text (open answer), comment (interviewer comment on any question type), answer_options (selected scale or select options as text), and answer_score.
- Feedbacks that are still awaiting an answer are returned too, with empty answer fields and
status other than completed.
- Requires
feature ats_scorecards=true and access to the candidate.
GET /api/v1/candidates/{candidate_id}/feedbacks/overview - aggregated scorecard stats of a candidate: requested_count, completed_count, avg_scale_score, max_scale_score, avg_score_mark, and score_marks.
- Use it for dashboards where the answer texts are not needed.
- Requires
feature ats_scorecards=true and access to the candidate.
PUT /api/v1/applicants/{applicant_id}/labels - replaces the whole set of applicant labels with the label_ids passed in the body; an empty list clears them.
- Label ids that do not belong to the organization are ignored.
- Returns the full applicant, so the resulting labels can be checked right in the response.
- Requires permissions
recruiting_module=edit and manage_candidates=edit.
POST /api/v1/time-off/availability/search - the dates on which employees are on time off within a period.
- Multi-day leaves are expanded into separate days and clipped to the requested period, so intervals do not have to be intersected on the client.
- Only occupied dates are returned; each day carries
time_off_category_id to join with GET /api/v1/time-off/categories, and is_pending for leaves still awaiting approval.
- Free days, weekends and public holidays are not returned, and part-time schedules are not taken into account.
- Filters:
employee_ids, category_ids, department_ids, team_ids, division_ids, location_ids. The period is limited to 366 days.
- Requires permission
access_to_leave_timeline=edit.
- New optional
date_from and date_to keep only the records whose own period overlaps the requested one.
- The bounds are independent: either one may be passed alone.
- Existing requests are unaffected - without the new fields the method behaves exactly as before.
- Three values of
employee_fields now reach the response. They were accepted before, but their data never appeared in the payload.
time_off - fills time_off when the employee is on leave today: date_from, date_to, category and balance_requested. The date is not a parameter, so this answers “who is off right now”, not a balance for a past date. It is null for everybody else.
custom_tables - fills custom_tables: one entry per table with table_id and rows, each row carrying id, date_effective_from, is_current and cells. A historical table returns its current row only.
additional_compensations - fills additional_compensations with the payments of the current month (by UTC): id, date_effective_from, compensation_type, amount, amount_gross, amount_net, currency, description and comment. For the whole history use GET /api/v1/employees/{employee_id}/additional-compensations.
- All three are additive: a request that does not ask for them returns exactly what it returned before.
custom_tables requires the custom_fields feature, time_off requires the time_off feature, and additional_compensations follows the employee_additional_compensation field permission per employee.
- The
successor_employee_id query parameter became required. A request without it returns 422.
- The successor takes over the entities of the archived employee: subordinates, goals, tasks and other assignments.
- Update your integrations before upgrading:
DELETE /api/v1/employees/{employee_id}?successor_employee_id={id}.