Get Assessment results
  • 06 Feb 2024
  • 3 Minutes to read
  • Contributors
  • Dark
    Light
  • PDF

Get Assessment results

  • Dark
    Light
  • PDF

Article summary

Get Assessment Results

Get /results

There are some constraints around getting results from Cirrus:
Results must be assessed/marked
Results must be published (FYI: If assessment marking workflow is “Do not assign assessors” then results can be received immediately after the attempt has been submitted else a user needs to manually publish them).

For most use-cases Webhooks are strongly advised!

As a Cirrus Webhook will push new results to your system the moment they become available so your systems does not have to frequently check (poll) this method.

Throtteling

For the result API a API Throtteling is in place for 3000 calls per day. This will be reset automaticly on 13:30 UTC


NameData TypeDescription
Content-type:application/jsonfor all requests
Authorization:EAPI {token}for all requests

Request Parameters

Parameters indicated with a * are mandatory

ParameterTypeDescription
*CandidateExtIdString(64)UserID in Cirrus (if string contains special charsets, it must be encoded.
ScheduleExtIdString(64)Schedule external id (if string contains special charsets, it must be encoded.
AttemptExtIdString(64)Attempt external id (If this parameter is used then CandidateExtId is not mandatory)

If ScheduleExtId is not set then all results for user with CandidateExtId will be returned.
If ScheduleExtId is set, results for the schedule will be returned.
If AttemptExtId is used, results for this specific attempt will be returned.

Common errors

  • Bad request
  • Url not found
  • Any missing parameters should trigger generic unsuccessful response stating the [parameter] in the response body

Sample Request URL

https://api.cirrusplatform.com/api/v1/integrations/results?CandidateExtId=eddardstark&ScheduleExtId=WINTER000
or
https://api.cirrusplatform.com/api/v1/integrations/results?AttemptExtId=attempt1

Sample successfull Response

{
  "CandidateExtId": "eddardstark",
  "CandidateInfo": {
		"ExternalId": "eddardstark",
		"FirstName": "Ext",
		"LastName": "User",
		"UserName": "extuser",
		"Email": "eddardstark@gmail.com"
		},
  "Grade": "Pass",
  "Score": "6",
  "MaxScore": "10",
  "PassScore": "5.0",
  "PercentageScore": 60,
  "Published": "2015-03-02T10:47:03.232Z",
  "AssessmentExtId": "NORTH000",
  "ScheduleExtId": "WINTER000",
  "AssessmentAttemptsCount": "3", // count of attempts submitted by candidate by assessment version
  "AttemptsCount": "1", // count of attempts submitted by candidate by schedule
  "Status": "Satisfactory", // Satisfactory;NotSatisfactory;Voided;NotSubmitted
  "PublishStatus": "FINAL", //  FINAL;INTERMEDIARY;FLAGGED_FOR_REMARKING;REMARKING_IN_PROGRESS
  "Presence": true,
  "ResultsPerSubject": [{
    "ExtId": "Subj001",
    "Name": "Subject 1",
    "Percentage": 71,
    "Score": "5"
    "LearningObjectives": [
                {
                    "ExtId": "T1-1",
                    "Name": "Topic 1",
                    "Percentage": "50",
                    "Score": "2"
                },
                {
                    "ExtId": "T1-2",
                    "Name": "Topic 2",
                    "Percentage": "0",
                    "Score": "1"
                },
                {
                    "ExtId": "T1-3",
                    "Name": "Topic 3",
                    "Percentage": "0",
                    "Score": "1"
                }
            ]
  },
  {
    "ExtId": "Subj002",
    "Name": "Subject 2",
    "Percentage": 33,
    "Score": "1"
        "LearningObjectives": [
                {
                    "ExtId": "T1-1",
                    "Name": "Topic 1",
                    "Percentage": "50",
                    "Score": "2"
                },
                {
                    "ExtId": "T1-2",
                    "Name": "Topic 2",
                    "Percentage": "0",
                    "Score": "1"
                },
                {
                    "ExtId": "T1-3",
                    "Name": "Topic 3",
                    "Percentage": "0",
                    "Score": "1"
                }
            ]
  }]
}

Sample successfull Response without ScheduleExtId

https://api.cirrusplatform.com/api/v1/integrations/results?CandidateExtId=extuser1
[{
		"CandidateNumber": "extuser1",
           "CandidateInfo": {
				"ExternalId": "extuser1",
				"FirstName": "Ext",
				"LastName": "User",
				"UserName": "extuser",
				"Email": "extuser1@gmail.com"
		},
		"Grade": "E",
		"Score": "1",
		"MaxScore": "2",
		"PassScore": "1.20",
		"PercentageScore": "50",
		"Published": null,
		"Presence": true,
		"ResultsPerSubject": [{
				"ExtId": "LO1",
				"Name": "LO1",
				"Percentage": "50",
				"Score": "1"
			}
		],
		"AssessmentNumber": "TA1",
		"BookingReference": "Test1",
		"Sections": [{
				"Id": "S4742-1",
				"MaxScore": "20",
				"CandidatePercent": "100",
				"CandidateScore": "20",
				"PassMark": "30",
				"PassedStatus": "Passed",
				"PassType": "Percent"
			},
			{
				"Id": "S474251",
				"MaxScore": "30",
				"CandidatePercent": "50",
				"CandidateScore": "15"
			}
		]

	}, {
		"CandidateNumber": "extuser1",
           "CandidateInfo": {
				"ExternalId": "extuser1",
				"FirstName": "Ext",
				"LastName": "User",
				"UserName": "extuser",
				"Email": "extuser1@gmail.com"
		},
		"Grade": "F",
		"Score": "0",
		"MaxScore": "2",
		"PassScore": "1.20",
		"PercentageScore": "0",
		"Published": "2018-08-29T10:31:45.539Z",
		"Presence": true,
		"ResultsPerSubject": [{
				"ExtId": "LO2",
				"Name": "LO2",
				"Percentage": "0",
				"Score": "0"
                "LearningObjectives": [
                {
                    "ExtId": "T1-1",
                    "Name": "Topic 1",
                    "Percentage": "50",
                    "Score": "2"
                },
                {
                    "ExtId": "T1-2",
                    "Name": "Topic 2",
                    "Percentage": "0",
                    "Score": "1"
                },
                {
                    "ExtId": "T1-3",
                    "Name": "Topic 3",
                    "Percentage": "0",
                    "Score": "1"
                }
            ]
			}
		],
		"AssessmentNumber": "TA2",
		"BookingReference": "Test2"
	}
]

Sample successfull Response when candidate did not participate / handed in anything:


{ 
    "CandidateNumber": "7140",
    "CandidateInfo": {
		"ExternalId": "7140",
		"FirstName": "Ext",
		"LastName": "User",
		"UserName": "7140",
		"Email": "7140@gmail.com"
		},
    "Grade": null, 
    "Score": "0", 
    "MaxScore": "0", 
    "PassScore": "0", 
    "PercentageScore": 0, 
    "Published": "2018-03-15T12:53:15.82Z", 
    "Presence": false, 
    "AssessmentNumber": "123", 
    "BookingReference": "44444" 
}

Response codes

CodeDescription
200Successful operation
403Not allowed to use external API
400Possible error codes:
User/Candidate [username] was not found
500Internal server error

Was this article helpful?

What's Next