This page lists and describes all the events that webhooks can currently send with respect to the assessments workflow.
We will add more webhook events in the future, so make sure you check this page whenever you want to add functionality that depends on the assessment workflow events that can take place in your account.
This webhook event gets triggered when a candidate starts the test.
webhook_event_type: The value of webhook_event_type field would be CANDIDATE_TEST_STARTED
webhook_payload: This would be a JSON, containing test_id, email and start_datetime fields.
Sample webhook_payload
{
"test_id": 1035542,
"email": "alice@bob.com",
"start_datetime": "2019-08-05T10:11:46-05:51"
}
Type: Integer
Description: This would be the unique identifier of the assessment.
Type: String
Description: This would be the email ID of the candidate who started the assessment.
Type: String
Description: This would be the timestamp at which the candidate started the assessment. It would be in ISO8601 date-time format.
This webhook event gets triggered when a candidate ends the test.
webhook_event_type: The value of webhook_event_type field would be CANDIDATE_TEST_FINISHED
webhook_payload: This would be a JSON, containing test_id, email and finish_datetime fields.
Sample webhook_payload
{
"test_id": 1035542,
"email": "alice@bob.com",
"finish_datetime": "2019-08-05T10:11:46-05:51"
}
Type: Integer
Description: This would be the unique identifier of the assessment.
Type: String
Description: This would be the email ID of the candidate who ended the assessment.
Type: String
Description: This would be the timestamp at which the candidate ends the assessment. It would be in ISO8601 date-time format.
This webhook event gets triggered whenever a candidate's assessment report gets generated or updated.
webhook_event_type: The value of webhook_event_type field would be CANDIDATE_REPORT_UPDATED
webhook_payload: This would be a JSON, containing test_id, email, name, start_datetime, finish_datetime, time_taken, score, percentage, status, questions_attempted, problem_type_scores, full_report_url, candidate_assessment_report_url, anon_report_url, phone_number, institute, graduation_year, candidate_id and custom_details fields.
Sample webhook_payload
{
"test_id": 1035542,
"email": "example@gmail.com",
"name": "exampleuser65",
"start_datetime": "2019-08-05T10:11:46-05:51",
"finish_datetime": "2019-08-05T10:12:10-05:51",
"time_taken": "0:23:48",
"score": 53.0,
"percentage": 39,
"status": "active",
"questions_attempted": 3,
"problem_type_scores": {
"Programming": 51.0,
"Multiple Choice Questions": 2.0
},
"section_scores": {
"Programming": {
"PSection1": 20.0,
"PSection2": 31.0
},
"Multiple Choice Questions": {
"MSection1": 2.0
}
},
"full_report_url": "https://www.hackerearth.com/recruiter/test-draft-7-136/candidates-report/c8001a2587a74c7cb80c552a92b009b9/5f2445dd4b1c7d08ef3c0307dc4ce90b/",
"candidate_assessment_report_url": "https://www.hackerearth.com/recruiter/test-draft-7-136/candidate-performance-report/c8001a2587a74c7cb80c552a92b009b9/66240bea5fc24e5baff57a6f9c44350f/",
"anon_report_url": "https://www.hackerearth.com/recruiter/test-draft-7-136/candidates-report/<hash1>/hash<2>/",
"phone_number": null,
"institute": "IIT Delhi",
"graduation_year": "2023",
"candidate_id": "dedewd",
"custom_details": {
"Stream/Branch": "CSE",
"Degree": "B.Tech/B.E.",
"Resume": "https://he-s3.s3.amazonaws.com/hackathon/am-ex-challenge/misc/a0a11516cb-kforJobFinal.pdf",
"CGPA": "6.5",
"College": "Other College",
"Graduation Year": "Other"
}
}
Type: Integer
Description: This would be the unique identifier of the assessment.
Type: String
Description: These would be the email ID and full name of the candidate whose assessment report got updated.
Type: String
Description: These would be the timestamps at which candidate started and finished the assessment. These would be in ISO8601 date-time format.
Type: String
Description: This would be the time duration taken by the candidate to finish the assessment.
Type: Integer
Description: These would be the total score and percentage obtained by the candidate in the assessment.
Type: String
Description: This would depict the current status of the candidate at HackerEarth. This field can have any of these four values: online, active, offered and archive. Their meanings have been explained below.
Type: Integer
Description: This would be the total number of questions attempted by the candidate in the assessment.
Type: Dictionary (JSON)
Description: This would be the mapping of question type section and candidate's total score in that section.
Type: String
Description: This would be the URL of candidate's full assessment report.
Type: String
Description: This would be the URL of candidate's performance report which could be shared with the candidate as it does not contain any information about the correct solutions.
Type: String
Description: This would be the Anonymous report URL and this field would be present in the payload only if your company has subscribed to the anonymous reports feature.
Type: String
Description: These are the personal details of the candidate and these will be set in the payload if these fields were marked in Candidate Settings under Test Settings section and candidate has filled these details, otherwise, the value of these fields will be null.
Type: Dictionary (JSON)
Description: This would be the mapping of Custom details fields and their values filled by the candidate.
This webhook event gets triggered whenever an assessment's configuration gets updated.
webhook_event_type: The value of webhook_event_type field would be TEST_CONFIG_UPDATED
webhook_payload: This would be a JSON, containing id, title, slug, duration, creation_datetime, start_datetime, end_datetime and cutoff_score fields.
Sample webhook_payload
{
"id": 850266,
"title": "Algorithms",
"slug": "algorithms-test-212",
"duration": 5400.0,
"creation_datetime": "2019-08-19T07:47:00-05:51",
"start_datetime": "2019-08-19T07:47:00-05:51",
"end_datetime": "2019-08-21T23:25:02+05:30",
"cutoff_score": 200
}
Type: Integer
Description: This would be the unique identifier of the assessment.
Type: String
Description: These would be the title and unique slug of the assessment.
Type: Integer
Description: This would be the duration (in seconds) of the assessment.
Type: String
Description: These would be the timestamps at which the assessment was created, is scheduled to start and is scheduled to end respectively. These would be in ISO8601 date-time format.
Type: Integer
Description: This would be the Cut off score of the assessment.