GET Candidate's Assessment Report

This API retrieves the Assessment report of the Candidate.

Request URL

GET /assessments/report/<report_id>

Warning

Make sure to add your API key in Header of the request

Parameters

Parameter

Type

Description

report_id

integer

Report ID of the candidate

Query Parameters

Parameter

Type

Description

include_questions (optional)

boolean

When true, includes section-wise question results. This feature must be enabled for the company associated with the API key.

Example: GET /assessments/report/12345?include_questions=true

include_qualification (optional)

boolean

When true, includes the Candidate Qualification Result (qualification) in the response as a boolean (true = Qualified, false = Not Qualified).

Example: GET /assessments/report/12345?include_qualification=false

Response

  • A JSON response containing information about the Candidate report given the candidate has completed the assessment and the Invite Link.

{
    "assessment_id": "integer",
    "candidate_id": "integer",
    "completed_date": "string",
    "cut_off": "integer",
    "email": "string",
    "invite_status": "string",
    "name": "string",
    "offtab_count": "integer",
    "overall_percentage": "double",
    "qualification": "boolean",
    "registration_fields": [
        {
            "label": "string",
            "value": "string"
        }
    ],
    "report_id": "integer",
    "report_link": "string",
    "sections": [
        {
            "percentage": "double",
            "section": "string",
            "skill_wise_score": [
                {
                    "skill": "string",
                    "percentage": "float"
                }
            ]
        }
    ],
    "questions": [
        {
            "section_id": "integer",
            "section": "string",
            "percentage": "double",
            "questions": [
                {
                    "question_id": "integer",
                    "index": "integer",
                    "type": "roleplay",
                    "question": "string | object",
                    "skill": "string",
                    "skill_id": "integer",
                    "difficulty": "easy | medium | hard",
                    "max_score": "double",
                    "score": "double",
                    "result": {
                        "transcript": "string",
                        "roleplay_report": {}
                    },
                    "roleplay_report": {}
                }
            ]
        }
    ]
}
{
    "assessment_id": 101,
    "candidate_id": 456,
    "completed_date": "2026-08-31T10:30:00",
    "cut_off": 60,
    "email": "[email protected]",
    "invite_status": "Completed",
    "name": "Candidate Name",
    "offtab_count": 0,
    "overall_percentage": 82.5,
    "qualification": true,
    "registration_fields": [
        {
            "label": "Phone",
            "value": "+91-9000000000"
        }
    ],
    "report_id": 12345,
    "report_link": "https://example.com/signed-report-link",
    "sections": [
        {
            "percentage": 85.0,
            "section": "Programming",
            "skill_wise_score": [
                {
                    "skill": "Python",
                    "percentage": 90.0
                }
            ]
        }
    ],
    "questions": [
        {
            "section_id": 1,
            "section": "Programming",
            "percentage": 85.0,
            "questions": [
                {
                    "question_id": 1001,
                    "index": 1,
                    "type": "roleplay",
                    "question": "Conduct a customer support conversation",
                    "skill": "Python",
                    "skill_id": 12,
                    "difficulty": "medium",
                    "max_score": 10.0,
                    "score": 8.5,
                    "result": {
                        "transcript": "Candidate: Hello, how can I help you today?",
                        "roleplay_report": {
                            "overall_score": 8.5,
                            "feedback": "Clear communication and good problem solving"
                        }
                    },
                    "roleplay_report": {
                        "overall_score": 8.5,
                        "feedback": "Clear communication and good problem solving"
                    }
                }
            ]
        }
    ]
}

Note

  • report_link is a signed link to the report and remains active for 7 days from completion. If you need access after it expires, you can use the Shareable Report Link API to generate a new link with your desired expiry time.

  • The response for sections may differ based on the assessment configuration. Sections contains the names of all sections along with the corresponding scores obtained for each section.

  • Please note that the skill_wise_score will only have the score for those sections which the candidate took up and answered, rest of the other skills will not be included.

  • The response for registration_fields also may differ based on the Custom Registration fields set for the assessment.

  • questions is included only when include_questions=true and question-level reporting is enabled for the company associated with the API key. Omitting the parameter, or passing a false value, leaves the existing response unchanged.

  • qualification is included only when include_qualification is set to a truthy value (for example 1 or true). Omitting the parameter, or passing a non-truthy value, leaves the existing response unchanged (qualification is not returned).

  • Question result fields depend on the question type. Roleplay questions include roleplay_report and may include a transcript. Other question types return only their applicable result fields.

  • If include_questions=true is requested by a company for which question-level reporting is not enabled, the API returns HTTP 403 with the following response:

    {
        "error": "include_questions is not enabled for this company"
    }
    
  • A JSON response when the candidate has not completed the assessment.

{
    "assessment_id": "integer",
    "candidate_id": "integer",
    "email": "string",
    "invite_status": "string",
    "name": "string",
    "qualification": "boolean",
    "report_id": "integer"
}
{
    "assessment_id": 101,
    "candidate_id": 456,
    "email": "[email protected]",
    "invite_status": "Pending",
    "name": "Candidate Name",
    "qualification": false,
    "report_id": 12345
}

Note

The value for invite_status could be Pending meaning the candidate has not yet started the assessment and Started meaning the candidate is currently taking up the assessment. qualification appears in this response only when include_qualification is truthy.