Get Session Report V2

Method returns test session results for a specified participant id.

To use this method you need to setup a callback URL in Test settings in StartExam app.
After that every finished session will automatically redirect User to your URL with participantId as a GET-parameter.

Request Information

Scheme

GET https://api.startexam.com/v2/session?participantId={participantId}

URI Parameters

  • participantId - participant id, Guid.

Body Parameters

None.

Request Example

GET https://api.startexam.com/v2/session?participantId=488d2677-9c94-44a3-bdad-a1b1adaeee17 HTTP/1.1
Host: api.startexam.com
Accept: application/json; charset=utf-8
Authorization: SharedKey 99:f52JP7GQd0xqrBzMO1NWTNVGzLENymgdUXu/Ie++NX4=
Content-Type: application/json; charset=utf-8
Date: Thu, 21 Nov 2024 06:23:31 GMT

Date and Authorization headers are constructed in the standard way.

Response Information

HTTP status code

200 OK, 400 Bad Request, etc. according the response processing guide.

Content-Type

Json.

Content

  • participantId - the same participant id as in request, guid.
  • testId - test id, guid.
  • started - session started date-time in UTC, ISO 8601.
  • isFinished - session finished flag, true/false.
  • autoClosed - participant has left system and session was closed automatically by timeout, true/false.
  • elapsedTime - testing time, [d.]HH:MM:SS, nullable.
  • score - participant score, double, nullable.
  • maxScore - maximum possible score, double, nullable.
  • percent - percent, double with 2 decimals, nullable.
  • scaleLevel - participant level from Test settings, nullable.
  • outcomes - custom outcomes, used mostly in psychological tests if specified in Test settings in StartExam.
  • participantData - personal data of a participant.
  • sections - results for each root section of a test, can include title, score, max score and scale level if specified in Section settings in StartExam.
  • questions - results for each question with basic results such as question number, type, score, max score, elapsed time.
  • proctoring - proctoring results, if enabled for account.

If a participant hasn't finished a session, some fields (elapsedTime, score, maxScore, percent, scaleLevel, outcomes) will be not returned as nullable.

Response Example

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 3844

{
  "participantId": "488d2677-9c94-44a3-bdad-a1b1adaeee17",
  "testId": "696506c9-70a9-417e-bb2e-e24fd45cc5ec",
  "started": "2024-11-21T04:23:31Z",
  "isFinished": true,
  "autoClosed": false,
  "elapsedTime": "00:33:00",
  "score": 17.0,
  "maxScore": 20.0,
  "percent": 85.0,
  "scaleLevel": "Perfect Knowledge",
  "outcomes": [
    {
      "id": 914,
      "score": 1.0,
      "max": 1.0,
      "name": "Personality type",
      "level": "Melancholic"
    }
  ],
  "participantData": [
    {
      "name": "First Name",
      "value": "John"
    },
    {
      "name": "Last Name",
      "value": "Lennon"
    },
    {
      "name": "Email",
      "value": "lennon@gmail.com"
    },
    {
      "name": "My Custom Field Name",
      "value": "000000001"
    }
  ],
  "sections": [
    {
      "title": "Section #1 Title",
      "score": 10.0,
      "max": 12.0,
      "level": "passed",
      "elapsedTime": "00:00:13"
    },
    {
      "title": "Section #2 Title",
      "score": 7.0,
      "max": 8.0,
      "level": "passed",
      "elapsedTime": null
    },
    {
      "title": "Personality type section",
      "score": 0.0,
      "max": 0.0,
      "level": null,
      "elapsedTime": "00:01:42"
    }
  ],
  "questions": [
    {
      "num": 1,
      "type": "SingleChoice",
      "score": 10.0,
      "max": 12.0,
      "answer": null,
      "elapsedTime": "00:00:25",
      "prompt": null,
      "code": "abc_zyx",
      "reviews": null
    },
    {
      "num": 2,
      "type": "VideoInterview",
      "score": 7.0,
      "max": 8.0,
      "answer": {
        "originalUri": "https://startexampipe.blob.core.windows.net:443/videos/107/2019-03/2a9ccd26-6116-4982-aec4-3e87dd3f0a6e/a4c7bd2c-2246-4ca0-82a0-0e961f046bb9/original.MOV",
        "originalType": "video/quicktime",
        "originalExtension": "MOV",
        "originalSize": 6455937,
        "mpegDashUri": "https://startexamams.streaming.mediaservices.windows.net/12215abf-d13a-421d-96a3-3cc3f039ade8/original.ism/manifest(format=mpd-time-csf)",
        "size": 8891580,
        "duration": "00:02:03",
        "width": 360,
        "height": 480
      },
      "elapsedTime": "00:01:05",
      "prompt": null,
      "code": null,
      "reviews": null
    },
    {
      "num": 3,
      "type": "Essay",
      "score": null,
      "max": null,
      "answer": {
        "text": "The word essay derives from the French infinitive essayer, \u0022to try\u0022 or \u0022to attempt\u0022. In English essay first meant \u0022a trial\u0022 or \u0022an attempt\u0022, and this is still an alternative meaning. The Frenchman Michel de Montaigne (1533–1592) was the first author to describe his work as essays; he used the term to characterize these as \u0022attempts\u0022 to put his thoughts into writing.",
        "files": [
          {
            "url": "https://startexam.blob.core.windows.net/attached-files/107/2020-11/9fd91753-7382-438d-9337-915d7a7fd4f2/75619c58-b1df-4194-a926-c2d1de71d2b3/image.jpg",
            "type": "image/jpeg",
            "size": 103095
          },
          {
            "url": "https://startexam.blob.core.windows.net/attached-files/107/2020-11/9fd91753-7382-438d-9337-915d7a7fd4f2/75619c58-b1df-4194-a926-c2d1de71d2b3/doc.pdf",
            "type": "application/pdf",
            "size": 791800
          }
        ]
      },
      "elapsedTime": null,
      "prompt": null,
      "code": null,
      "reviews": null
    },
    {
      "num": 3,
      "type": "Likert",
      "score": null,
      "max": null,
      "answer": "8",
      "elapsedTime": null,
      "prompt": null,
      "code": "cov_Id",
      "reviews": null
    }
  ],
  "proctoring": {
    "conclusion": 90,
    "evaluation": 82,
    "comment": "Looked away from the screen.",
    "protocolUrl": "https://proctoring.corp/ae78a5ac-609e-4b64-9049-663e60dea417"
  }
}

Try Method