Build powerful examination workflows. Manage exams, invite candidates at scale, and retrieve detailed result analytics — all through a clean, predictable REST interface.
All endpoints return JSON. All requests must include a valid x-api-key header and originate from an allowlisted IP
address.
Retrieve a clean, lightweight array of all available examinations. This endpoint does not require any parameters.
GET /examinations x-api-key: abdbd183****************************************eb953214 Accept: application/json
[ { "testId": 119, "testName": "Technology - Email Test" } ]
{ "success": false, "message": "Unauthorized API key." }
Allocate a single candidate to an examination natively. This automatically creates the candidate record if they are new, mapping them securely to the appropriate group.
| Field | Type | Required | Description |
|---|---|---|---|
| examination_id | integer | required | ID of the examination |
| candidate_email | string (email) | required | Email address of candidate |
POST /allocate-candidate x-api-key: abdbd183****************************************eb953214 Content-Type: application/json { "candidate_email": "arjun.mehta@company.io", "examination_id": 119 }
{ "success": true, "message": "Candidate allocated to examination successfully.", "data": { "candidate_email": "arjun.mehta@company.io", "examination_id": 119, "invite_id": 142, "invite_link": "https://beta-consero.ipixsolutions.net/exam/start/A3bk..." } }
{ "success": false, "message":"An error occurred during allocation.", "error": "SQLSTATE[HY000]: General error: ... " }
Invalidate an existing allocation using its Invite ID. This prevents the candidate from starting or continuing the exam.
| Field | Type | Required | Description |
|---|---|---|---|
| invite_id | integer | required | The ID received from allocation |
POST /cancel-allocation x-api-key: abdbd183****************************************eb953214 { "invite_id": 142 }
{ "success": true, "message": "Allocation cancelled successfully.", "data": { "invite_id": 142, "status": "inValid" } }
Retrieve the detailed assessment report for a candidate using their invite ID.
| Field | Type | Required | Description |
|---|---|---|---|
| inviteId | integer | required | The ID received from allocation |
POST /report x-api-key: abdbd183****************************************eb953214 { "inviteId": 142 }
{ "inviteId": "142", "testId": "119", "testName": "Technology - Email Test", "email": "arjun.mehta@company.io", "reportURL": "https://beta-consero.ipixsolutions.net/report/142", "proctoringURL": "https://beta-consero.ipixsolutions.net/report/proctoring/142", "score": 74, "totalScore": 100, "percentage": 74.0, "testStartDate": "2024-07-15T09:02:14.00Z", "testEndDate": "2024-07-15T10:24:08.00Z", "status": "Pass", "metadata": { "mode_of_completion": "web" } }
All API requests must be authenticated using your hardcoded API key through the x-api-key header. The server also enforces IP address
restriction.
x-api-key: abdbd183****************************************eb953214