APIsAssessments

Assessments

Overview

At TestGorilla we distinguish assessments from tests. A candidate takes an assessment, which can consist of up to 5 tests and up to 20 custom questions, depending on your plan.

Customers typically create one assessment for one open position and multiple candidates take the same assessment.

List Assessments

Use the following endpoint to retrieve the list of assessments created in TestGorilla:

Endpoint

GET https://app.testgorilla.com/api/assessments/

Query Parameters
ParametersDescription

status

Filter the assessments based on their status.

The possible values : new, active, archived


new : Assessment to which no candidates have been invited

active : Assessment to which at least one candidate has been invited, irrespective of their completion status.

archived : Assessment to which candidates can no longer take. Candidates that were invited before archiving can no longer complete the assessment.


This parameter accepts a comma-separated list.

Example: status=new,active

Default value: Retrieves all the statuses.

ordering

Defines the order of the result list. The possible values are:


modified : date of last modification. This includes any progress of candidates participating in the assessments.

name : name of the assessment

candidates : number of candidates invited

finished_percentage : percentage of candidates started or completed


This parameter supports ascending and descending order. The default ordering is ascending. Adding the minus symbol (-) before the value will set the order to descending.


Example:

ordering=modified : newest on the bottom

ordering=-modified : newest on the top


Default ordering: Order by assessment ID

limit

The number of records to retrieve. This parameter is used for pagination purposes, defining the size of the page.


Default value: 10

offset

The offset of the first element. This parameter is used for pagination purposes.


Example:

limit=10&offset=0

1st page of 10 items


limit=10&offset=10

2nd page of 10 items


Default value: limit=10 and offset=0

Example Request
curl 'https://app.testgorilla.com/api/assessments/?status=active,new' -H 'Authorization: Token <YOUR TOKEN GOES HERE>'
Example Response
{
  "count": 27,
  "results": [
    {
      "id": 32,
      "name": "Python developer",
      "candidates": 42,
      "invited": 13,
      "started": 8,
      "finished": 21,
      "status": "active",
"finished_percentage": 50,
     "modified": "2021-07-10T15:06:05.719971+00:00"
    },
    {...}
  ]
}

Assessment Details

Use the following endpoint to retrieve the details for a specific assessment:

Endpoint

GET https://app.testgorilla.com/api/assessments/<ASSESSMENT_ID>

Example Request

curl 'https://app.testgorilla.com/api/assessments/<ASSESSMENT_ID>/' \
-H 'authorization: Token <YOUR TOKEN GOES HERE>'

Example Response

{
    "id": 32,
    "modified": "2021-07-10T15:06:05.719971+00:00",  
    "name": "Python developer",
    "candidates": 42,
    "invited": 13,
    "started": 8,
    "finished": 21,
    "status": "active",
    "finished_percentage": 50,
    "benchmark_name": "All candidates",
    ...
    "public_links": [
      {
        "id": 32,
        "active": true,
        "candidates_count": 0,
        "candidates_limit": 0,
        "label": "General public link",
        "public_uuid": "<PUBLIC_LINK_UUID>"
      }
    ],
    ...
}

Anti-cheating Flags for Assessments

Follow retrieve candidate details to get the <TEST_TAKER_ID> and <CANDIDATURE_ID> of the candidate you’d like the results retrieved for:

Endpoint

GET https://app.testgorilla.com/api/assessments/candidates/<TEST_TAKER_ID>/?candidature=<CANDIDATURE_ID>

Example Request

curl --location --request GET 'https://app.testgorilla.com/api/assessments/candidates/<TEST_TAKER_ID>/?candidature=<CANDIDATURE_ID>' \
--header 'Authorization: Token <YOUR TOKEN GOES HERE>'

Example Response

The response includes all candidatures associated to the TEST_TAKER_ID. The following fields correspond to the anti-cheating flags:

  • is_exited_full_screen: True if the candidate left the assessment screen, False otherwise.
  • is_left_screen: True if the mouse left the assessment screen, False otherwise.
  • repeated_ip: True if more than one assessment was completed from the same IP address, False otherwise.
  • is_camera_enabled: True if the camera is enabled during the assessment, False otherwise.
{
   "id": <TEST_TAKER_ID>,
    ...
    "assessments_detail": [
        {
            ...
            "is_exited_full_screen": false,
            "is_left_screen": false,
            "repeated_ip": true,
            "is_camera_enabled": false,
            ...
        }
    ]
}