Create Review
Purpose
To create a new 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 (if any), the rating secured by the candidate and much more.
Request URL
https://recruit.zoho.com/recruit/v2/Reviews
Note:
To create a single record, include just one JSON object in your input with the necessary keys and values.
Request Method
POST
Scope
scope=ZohoRecruit.modules.all
(or)
scope=ZohoRecruit.modules.review.{operation_type}
Possible operation types |
---|
CREATE - Create records in the module 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] |
Candidate_Name/Application_Name/Interview_Name* | String | Record ID of the associated Candidate | 100002000000025466 |
$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 |
Interviewer Submission | Change Interview Status | Interview_Status |
Possible Errors
HTTP Status | Error Code | Message | Reason |
---|---|---|---|
202 | INVALID_DATA | You cannot add a review without specifying a Rating | Overall Rating is mandatory for creating a review |
202 | INVALID_DATA | Interview Evaluation can not be added for Video Interviews and Logged Interviews through API | Interviewer Reviews cannot be added through API for video interviews and logged interviews |
202 | INVALID_DATA | This interview has already been reviewed | The interview mentioned in your request body has already been reviewed |
202 | INVALID_DATA | This review combination has already been used. Try using the ReviewRecords API if you wish to update the review | No two reviews can have the same Job Opening, Candidate, Assessment and Application. |
202 | INVALID_DATA | The Job Opening you have included as a parameter is not associated with the Candidate Record | To add a job-based review, you must first associated the candidate with the job opening mentioned in your request body |
202 | INVALID_DATA | Assessment details cannot be updated through API for Candidate Assessments | Assessments related to Candidate Submission reviews cannot be modified 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 | Possible review information missing | Your request body in missing some information related to the review |
202 | INVALID_DATA | The given assessment is not associated with the Interview record | You have included the wrong assessment in your request body. Make sure you mention the assessment associated with the Interview. |
202 | INVALID_DATA | Interview Status is mandatory for Interview Evaluations | Interview Status is a mandatory parameter for creating Interviewer Submission reviews |
202 | INVALID_DATA | The Application Name you've included are invalid | The application mentioned in your request body does not exist |
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 | The Assessment is required to add a review since it contains mandatory fields | Make sure you include the assessment to your request body, as it contains mandatory fields. |
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 | If a candidate is associated with a Job, you need to update both their statuses | Both candidate and job opening statuses must be included to your request body |
202 | INVALID_DATA | You can't give Review before scheduling time | The interview you are trying to evaluate has not started yet. Refer the From and To fields of the interview record. |
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 - Interviewer Submission
Copied{
"data": [
{
"Review_Comments": "Candidate breezed through the interview. Top talent!",
"Interview_Name": "100002000000080025",
"Interview_Status": "On-Hold",
"$status_info": {
"Application_Status": "New"
}
}
]
}
Sample Request - Recruiter Submission
Copied{
"data": [
{
"Review_Comments": "Candidate looks like an amazing fit for this position.",
"Rating": 5,
"Candidate_Name": "100002000000025466",
"Assessment_Name": "100002000000024841",
"$answers": [
{
"score": 4,
"question": "100002000000024892",
"comments": "I have a strong track record in customer service. I'm good with customers, solve problems, and learn new things."
},
{
"score": 5,
"question": "100002000000024894",
"comments": "I handled a large influx of customer complaints. I worked with my team to address them in a timely manner. We reduced complaints by 50%."
},
{
"score": 5,
"question": "100002000000024896",
"comments": "I want to become a certified customer service manager. This job will help me achieve this goal by giving me the opportunity to learn from experienced managers.
"
},
{
"score": 1,
"question": "100002000000024898",
"comments": "My perfect manager is supportive, approachable, and fair. I've had a manager who was close to this ideal."
},
{
"score": 4,
"question": "100002000000024900",
"comments": "I prefer a collaborative and supportive work environment with a hands-off management style."
}
],
"$status_info": {
"Candidate_Status": "Hired",
"lock": "true"
}
}
]
}
Sample Response
Copied{
"data": [
{
"status_info": [
{
"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": "Patricia Boyle",
"id": "100002000000026940"
}
},
"message": "status changed",
"status": "success"
}
],
"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": "Patricia Boyle",
"id": "100002000000026940"
}
},
"message": "record added",
"status": "success"
}
]
}