Update Assessment
Purpose
To update an assessment in your Zoho Recruit account through an API request.
Request URL
https://recruit.zoho.com/recruit/v2.1/Assessments
To update a specific assessment;
https://recruit.zoho.com/recruit/v2.1/Assessments/{record_id}
{record_id} - The unique ID of the record
Request Method
PUT
Scope
scope=ZohoRecruit.modules.all
(or)
scope= ZohoRecruit.modules.assessment.{operation_type}
Possible operation types |
---|
ALL - Full data access |
Parameters
Parameter Name | Data Type | Description | Possible Values |
---|---|---|---|
Assessment_Name* | String | The unique ID of the assessment. | 100001000000203138 |
Category* | Pick List Value | The Category of the assessment, i.e., Candidate Assessment, Recruiter's Assessment (or) Interviewer Assessment | Candidate Assessment |
Type* | Pick List Value | The Type of the assessment, i.e., General, Pre-Screening, Behavioral Screening, etc. | Background Screening |
Rating_Type | String | The type of rating used in the assessment. | Star Rating |
Description | String | The description for the assessment. | Sample Description: Software Engineer Level 2 |
$sections | JSON Array | Questions details for the assessment, i.e., Question, Weightage, Type, etc. | "$sections": [ { "display_label": "String", "questions": [{ "display_label": "String", "qualifier": { "weightage": 5, "action": "unqualified" }, "tooltip": { "name": "Info Icon", "value": "Info Content" }, "data_type": "String", "required": false, "pick_list_values": [ { "score": 5, "display_value": "String" }] }] } ] |
Note:
- Rating types
- For Interviewer Assessments, you will have two available rating types, i.e., Thumb Rating and Star Rating.
- For Recruiter and Candidate Assessments, you can only select Star Rating.
- Question data type
- Candidate assessments can contain questions of different data-types such as; picklist, multiselect, radio, boolean, text, textarea.
- Interviewer and Recruiter's assessments can only contain textarea questions.
- Competencies [$sections]
- For Recruiter & Interviewer Assessments, you only need include the display_label, required, data-type parameters for each for each question object in a $section. This is because both of these categories can only contain text-area type questions.
- Assessment category
- The category of the assessment cannot be changed via API. Make sure you include the correct category in your request.
- Deleting questions/options
- To delete Questions and Options, include _delete with the ID of the question/option.
- If there is no update required for a question, just include the question ID alone in your request. If you fail to include all questions in your request, an error response will be thrown.
Possible Errors
HTTP Status | Error Code | Message | Reason |
---|---|---|---|
202 | INVALID_DATA | Objective type questions cannot be added without including related pick_list_values. | For objective type questions, all related answers must be included to the request body |
202 | INVALID_DATA | Boolean data_type must have exactly two pick_list_values | Boolean type questions must have exactly two answers |
202 | INVALID_DATA | For all objective questions except boolean, you can add three to ten picklist values | Objective type questions (except boolean) can have three to ten answers. |
202 | INVALID_DATA | The minimum weightage for this qualifier question must be lower than or equal to <value> | Objective type questions, each answer can be assigned a score (weightage). Example: If there are three answers with 6, 6 and 8 as their respective scores, the qualifying score must be less than 20. For radio, picklist and boolean questions, the passing score must be lower than the highest possible score. Example: If there are three answers with 7, 5 and 9 as their respective scores, the qualifying score must be less than 9. |
202 | INVALID_DATA | Recruiter and Interviewer assessments Category can only have text-area questions | You can only add text-area questions to Recruiter's and Interviewer Assessments. |
202 | LIMIT_EXCEEDED | Max question limit per questionnaire is <no. of questions> | You have reached the question limit for the assessment you are trying to update. |
202 | INVALID_DATA | For the boolean data_type, the score of one pick_list_values must be 0. | For Boolean type questions, the weightage of one of the two answers must be 0. |
202 | INVALID_DATA | This display_label has already been used in the assessment | The section name included in your request already exists in the assessment. Try using a different label. |
202 | INVALID_DATA | Data Type of the Question cannot be changed | Mention the correct data type for each question. |
202 | INVALID_DATA | The given Question does not belong to this Assessment | The question you've included in your request does not belong to mentioned assessment. |
202 | INVALID_DATA | The given Option does not belong to this Question | The option you've included in your request does not belong to the mentioned question. |
202 | INVALID_DATA | This question is already present in the Assessment | The question you are trying to add already exists in the assessment. |
202 | INVALID_DATA | Some Questions in the Assessment are missing in your request | Make sure your include every question for the assessment in your request. |
202 | INVALID_DATA | Some options for the question are missing in your request | Make sure your include every option for the question in your request. |
Sample Request - Candidate Assessment
Copied{
"data": [
{
"Description": "Sample Description",
"Category": "Candidate Assessment",
"$sections": [
{
"display_label": "Problem-Solving Skills",
"questions": [
{
"_delete": null,
"id": "100001000000203138"
},
{
"display_label": "Describe a challenging situation you've faced and how you resolved it.",
"qualifier": {
"weightage": 0,
"action": "disqualify"
},
"tooltip": {
"name": "Info Icon",
"value": " Challending situation"
},
"data_type": "textarea",
"id": "100001000000203140",
"required": true
}, {
"display_label": "Share your greatest professional achievement and its impact.",
"qualifier": {
"weightage": 0,
"action": "disqualify"
},
"tooltip": {
"name": "Info Icon",
"value": "professional achievement"
},
"data_type": "textarea"
}
]
},
{
"display_label": "Technical Proficiency",
"questions": [
{
"display_label": "What is your proficiency level in Deluge scripting?",
"qualifier": {
"weightage": 6,
"action": "disqualify"
},
"tooltip": {
"name": "Info Icon",
"value": "proficiency level"
},
"data_type": "radio",
"id": "100001000000203142",
"required": true,
"pick_list_values": [
{
"display_value": "Basic",
"score": 5,
"id": "100001000000203150"
},
{
"display_value": "Intermediate",
"score": 7,
"id": "100001000000203152"
},
{
"display_value": "Advanced",
"score": 10,
"id": "100001000000203154"
}
]
},
{
"display_label": "How would you rate your proficiency in data analysis using statistical software?",
"qualifier": {
"weightage": 0,
"action": "unassociate"
},
"tooltip": {
"name": "Info Icon",
"value": "proficiency in data analysis"
},
"data_type": "picklist",
"id": "100001000000203144",
"required": false,
"pick_list_values": [
{
"display_value": "Novice",
"score": 4,
"id": "100001000000203156"
},
{
"display_value": "Intermediate",
"score": 7,
"id": "100001000000203158"
},
{
"display_value": "Expert",
"score": 10,
"id": "100001000000203160"
}
]
},
{
"display_label": "Do you have experience working with cloud-based databases?",
"qualifier": {
"weightage": 0,
"action": "unassociate"
},
"tooltip": {
"name": "Info Icon",
"value": "cloud-based databases"
},
"data_type": "boolean",
"id": "100001000000203146",
"required": false,
"pick_list_values": [
{
"display_value": "Yes",
"score": 10,
"id": "100001000000203162"
},
{
"display_value": "No",
"score": 0,
"id": "100001000000203164"
}
]
},
{
"display_label": "Which of the following programming languages and technologies are you proficient in? (Select all that apply)",
"qualifier": {
"weightage": 20,
"action": "unassociate"
},
"tooltip": {
"name": "Info Icon",
"value": "programming languages"
},
"data_type": "multiselect",
"id": "100001000000203148",
"required": true,
"pick_list_values": [
{
"display_value": "Python",
"score": 0,
"id": "100001000000203166"
},
{
"_delete": null,
"id": "100001000000203168"
},
{
"display_value": "Java",
"score": 0,
"id": "100001000000203170"
}, {
"display_value": "JavaScript",
"score": 0'
"id": "100001000000203174"
}
]
}
]
}
],
"Type": "General",
"Assessment_Name": "Sample Screening Test",
"id": "100001000000203136"
}
]
}
Sample Request - Recruiter's Assessment
Copied{
"data": [{
"Type": "General",
"Description": "This assessment is designed to evaluate candidates for software engineering roles",
"Assessment_Name": "Software Engineer Assessment",
"id": 100001000000755380,
"$sections": [{
"display_label": "Software Engineering Expertise",
"questions": [{
"display_label": "Ask the candidate to explain multithreading in software engineering and provide a real-world scenario where it enhances application performance.",
"data_type": "textarea",
"id": 100001000000755390,
"required": false
},
{
"display_label": "Inquire about the importance of version control systems like Git and request an instance where resolving a merge conflict was vital in a team project.",
"data_type": "textarea",
"id": 100001000000755390,
"required": false
},
{
"display_label": "Request the candidate to implement a basic sorting algorithm in pseudocode, explain its steps, and mention its time complexity.",
"data_type": "textarea",
"id": 100001000000755396,
"required": false
},
{
"display_label": "Ask the candidate to define the SOLID principles in object-oriented design and give an example of their application in enhancing software system maintainability.",
"data_type": "textarea",
"id": 100001000000755396,
"required": false
},
{
"display_label": "Inquire about Big O notation, and ask the candidate to compare the time complexities of linear search and binary search algorithms.",
"data_type": "textarea",
"id": 100001000000755400,
"required": false
}
]
}]
}]
}
Sample Request - Interviewer Assessment
Copied{
"data": [
{
"Description": "Sample Description",
"Category": "Interviewer Assessment",
"$sections": [
{
"display_label": "Past Experiences and Problem-Solving Abilities",
"questions": [
{
"display_label": "Briefly recount a team conflict resolution scenario. Detail the issue, your approach, and the ultimate resolution.",
"qualifier": {
"weightage": 0,
"action": "unassociate"
},
"tooltip": {
"name": "Info Icon",
"value": "Sample Info"
},
"data_type": "textarea",
"id": "100001000000203004",
"required": false
}, {
"display_label": "Share a situation where you managed a demanding deadline. Share the specific task, your time management strategy, and the outcome."
}
{
"_delete": null,
"id": "100001000000203006",
}
]
},
{
"display_label": "Career Goals and Motivation",
"questions": [
{
"id": "100001000000203008",
},
{
"display_label": "What are your long-term career goals, and how do you envision this role aligning with your aspirations?",
"required": false
}
]
}
],
"Type": "General Interview",
"Assessment_Name": "Problem Solving & Career Goals",
"id": "100001000000203002"
}
]
}
Sample Response
Copied{
"data": [
{
"code": "SUCCESS",
"details": {
"Modified_Time": "2023-01-04T10:40:55+05:30",
"Modified_By": {
"name": "Aaron Brown",
"id": "100001000000414003"
},
"Created_Time": "2020-07-02T21:13:21+05:30",
"id": "100001000000414961",
"Created_By": {
"name": "Aaron Brown",
"id": "100001000000414003"
}
},
"message": "record updated",
"status": "success"
}
]
}