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 NameData TypeDescriptionPossible Values
Assessment_NameJSONAssessment ID with Question and Answer details. 

100002000000024841

Interview_Status*
(Interviewer Submission reviews Only)

StringStatus of the associated Interview  Hired, On-hold, Rejected, etc.
Rating*IntegerThe overall rating of the reviewPossible values range [1 to 5]
Candidate_Name/Application_Name/Interview_Name*StringRecord ID of the associated Candidate100002000000025466
$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"
        }
    ]
}