Update Review
Purpose
To update a specific record in the Reviews sub-module through an API request.
Reviews sub-module
The Reviews sub-module is a sort of intermediary module that exists to provide a bridge for associating the Candidates, Job Openings and Applications modules. When a Candidate is evaluated, the associated review is added as a record in Reviews. This review record contains information relevant to the review, such as the name of the associated candidate / job opening / interview, the assessment used for the review with (if any), the rating secured by the candidate and much more.
Request URL
To update reviews in bulk (include all record IDs to your request);
https://recruit.zoho.com/recruit/v2/Reviews
To update a specific review;
https://recruit.zoho.com/recruit/v2/Reviews/{record_id}
record_id - The unique ID of the record.
If find the Record ID of a review, you can either use the GetRecords API and filter the results using the associated Candidate / Job Opening (or) use the GetRelatedRecords API for the associated candidate / job opening.
Note:
- Users can only edit reviews that they create, i.e, if they are the owner of the review.
- Number of times Reviews can be updated (based on type)
- Recruiter Submission - Unlimited
- Candidate Submission - 1
- Client Submission & Interviewer Submission - NIL (Cannot be updated)
Request Method
PUT
Scope
scope=ZohoRecruit.modules.all
(or)
scope=ZohoRecruit.modules.review.{operation_type}
Possible operation types |
---|
ALL - Full access to the record WRITE - Edit records in the module |
Parameters
Parameter Name | Data Type | Description | Possible Values |
---|---|---|---|
Assessment_Name | JSON | Assessment ID with Question and Answer details. | 100002000000024841 |
Interview_Status* | String | Status of the associated Interview | Hired, On-hold, Rejected, etc. |
Rating* | Integer | The overall rating of the review | Possible values range [1 to 5] |
$answers | Contains assessment question(s) with their respective answer(s) | [{ "score": 3, "question": "100002000000024892", "comments": "Sample Answer" }, ..] |
Click here to see all Standard Fields for the Reviews sub-module.
Permissions & Mandatory Fields
Review Type | Permission Required | Used for |
---|---|---|
Recruiter Submission, Candidate Submission | Add/Edit Reviews | Rating |
Interview Submission (Video Interviews Only) | Change Interview Status | Interview_Status |
Possible Errors
HTTP Status | Error Code | Message | Reason |
---|---|---|---|
202 | INVALID_DATA | You can only update video interview records through API | Only video interviews (live & recorded) can be updated through API |
202 | INVALID_DATA | Reviews added by your clients cannot be updated through API | Users cannot update a review added by a client (Client Submission reviews) |
202 | DUPLICATE_DATA | The mentioned Interview record has already been evaluated by the Interviewer | The interview included in your request has already been evaluated |
202 | INVALID_DATA | Candidate has not submitted their video interview recording | Users cannot evaluate an interview if the candidate is yet to submit their response |
202 | INVALID_DATA | You cannot update Candidate Assessments through API | Candidate assessments cannot be updated through API |
202 | INVALID_DATA | You cannot add a review without specifying a Rating | Overall Rating is mandatory for creating a review |
202 | INVALID_DATA | Interview assessments cannot be updated without specifying the Interview Status | Interview Status is mandatory for updating Interviewer Submission reviews |
202 | INVALID_DATA | Assessment details cannot be updated through API for Candidate Assessments | Candidate Assessments cannot be evaluated through API |
202 | INVALID_DATA | Interview Assessments can be used only for Interview Evaluations | Only Interviewer Assessments can be used to create an Interviewer Submission review |
202 | INVALID_DATA | The value of Candidate Rating must be within 1 to 5 | The value of the Rating parameter must be within the range of 1 to 5 |
202 | INVALID_DATA | Your Review contains Assessment Data. Make sure to provide the Assessment details in your request | Your request body is missing mandatory assessment data |
202 | INVALID_DATA | Review could not be added as the interview status is invalid | The interview status mentioned in your request body does not exist |
202 | INVALID_DATA | For mandatory questions, the answers must be included in your API request | Make sure all mandatory questions and related answers have been included to your request body |
202 | INVALID_DATA | The assessment you have included could not be found | The assessment mentioned in your request body does not exist |
202 | INVALID_DATA | Only administrators and record owners can update reviews in recruiter's assessments | Only users with the administrator profile and record owners can update Recruiters Assessments |
202 | INVALID_DATA | EEO Rejection Reason cannot be empty | Make sure you mention the Reason for Rejection in your request body |
202 | INVALID_DATA | Reason for Rejection you have included is invalid | The Reason for Rejection mentioned in your request body is invalid
|
202 | NO_PERMISSION | permission denied to change status of interview | User does not have the permission required to change the status of the interview |
202 | NO_PERMISSION | permission denied to view interview | User does not have the permission required to view the interview |
202 | NO_PERMISSION | Permission denied to Add/Edit review | User does not have the permission required to add or edit review |
Sample Request - Candidate Submission
Copied{
"data": [
{
"Review_Comments": "Sample Comment",
"id": "100002000000535255",
"Rating": 3,
"$status_info": {
"Application_Status": "New",
"lock": "false"
}
}
]
}
Sample Request - Recruiter Submission
Copied{
"data": [{
"$status_info": {
"Application_Status": "New"
},
"Review_Comments": "Candidate has provided a good answer for each question. Nice find.",
"Assessment_Name": "100002000000530720",
"Rating": 1,
"$answers": [{
"score": 1,
"comments": "I'm interested in this position because it aligns with my skills and passion, and offers opportunities for growth.",
"question": "100002000000530756"
},
{
"score": 1,
"comments": "I know your company is a leading player in the industry, known for its innovative products and strong market presence.",
"question": "100002000000530756"
},
{
"score": 1,
"comments": "My career goal is to continually learn and develop my skills while making a meaningful contribution to the success of the organization.",
"question": "100002000000530760"
},
{
"score": 1,
"comments": "My strengths include effective communication and problem-solving skills, while I'm working on improving my time management as a weakness.",
"question": "100002000000530760"
},
{
"score": 1,
"comments": "My biggest accomplishment was successfully leading a team to exceed project goals and deliver exceptional results within a tight deadline.",
"question": "100002000000530764"
},
{
"score": 1,
"comments": "I appreciate your company's culture of fostering collaboration, creativity, and a strong focus on customer satisfaction.",
"question": "100002000000530764"
},
{
"score": 1,
"comments": "The biggest challenge in my current role is managing competing priorities and deadlines, but I've developed strategies to overcome it.",
"question": "100002000000530770"
},
{
"score": 1,
"comments": "I believe in going the extra mile when needed, so I'm open to working overtime when it's essential to meet deadlines or handle urgent tasks.",
"question": "100002000000530770"
}
],
"id": "100002000000526240"
}]
}
Sample Request - Interviewer Submission (Video Interviews Only)
Copied{
"data": [
{
"Review_Comments": "Candidate presents well and is adequately qualified for the position",
"Interview_Status": "On-Hold",
"id": "100002000000819003",
"Assessment_Name": {
"$answer": [
{
"score": 4,
"questionid": "100002000000409083",
"comments": "Willing to work overtime when necessary, but values work-life balance."
}
],
"id": "100002000000409006"
},
"$status_info": {
"Candidate_Status": "Hired",
"lock": "true"
}
}
]
}
Sample Response
Copied{
"data": [{
"code": "SUCCESS",
"details": {
"Modified_Time": "2023-06-20T15:15:37+05:30",
"Modified_By": {
"name": "Patricia Boyle",
"id": "100002000000026940"
},
"Created_Time": "2023-06-20T15:15:09+05:30",
"id": "100002000000028127",
"Created_By": {
"name": "Terrance Boyle",
"id": "100002000000026732"
}
},
"message": "record updated",
"status": "success"
}]
}