Delivery OData Feeds¶
-
Administrators
Administrator¶ Methods Supported: - GET – feed is read only
Filters supported: - ID – primary key
- Name – administrator name
Expansions supported: - Groups – associated groups
- TestCenters – associated test centers
The Administrators feed contains data about users with administrator roles in the user data base. A user with an administrator role is defined as being a user with any role other than special Participant role.
-
Answers
Answer (Media Link Entry)¶ Methods Supported: - GET – feed is read only
Filters supported: - QuestionID – ID of the associated Question
- ResultID – ID of the associated Result
Expansions supported: - Question – expands the associated Question
- Result – expands the associated Result
- ScoringTask – expands the associated ScoringTask, due to a known issue this expansion will only return entities that are associated with a ScoringTask.
$orderby is not supported.
The Answers feed contains detailed information about the answers given by participants. Each question that a participant answers generates a unique record in this feed.
-
AnswerUploads
AnswerUpload (Media Link Entry)¶ Methods Supported: - GET – returns AnswerUpload metadata entities
- POST – submits new AnswerUpload file for scoring
Filters supported: - AttemptID – the primary key
$orderby is not supported.
The AnswerUpload feed is used for external delivery use cases where response data is obtained externally (e.g., through printing and scanning) and must be submitted for scoring through the API. It also maintains a record of the raw response data in its uploaded form for future audit.
-
Assessments
Assessment¶ Methods Supported: - GET – feed is read only
Filters supported: - ID – primary key
- Name – assessment name
Expansions supported: - Results – expands the associated Results
The Assessments feed provides information about the assessment catalog. That is, all the assessments that have been published for delivery.
-
AssessmentSnapshots
AssessmentSnapshot¶ Methods Supported: - GET – reading snapshot entities
- POST – creating snapshot entities
- PATCH – some properties may be updated, see entity for details
Filters supported: - ID – primary key
- AssessmentID – the assessment used to create the snapshot ($orderby not supported)
- CreatedDateTime – the time the snapshot was created ($orderby only, $filter not supported)
The AssessmentSnapshots feed contains information about snapshots of assessments. Snapshots are versions of an assessment that have fixed any randomisation, such as which questions are picked and the order they are presented, including the order of any shuffled choices. Snapshots are used for making an exact record of the assessment that was delivered to the participant. At the time of writing they are used only for external delivery workflows, including printing and scanning.
-
AssessmentSnapshotsData
AssessmentSnapshotData (Media Link Entry)¶ Methods Supported: - GET – feed is read only
Filters supported: - ID – primary key
$orderby is not supported.
An auxiliary feed to
AssessmentSnapshots
which contains the raw XML data describing the snapshot. Values are normally obtained by navigation from the associateddeliveryodata.AssessmentSnapshot
rather than directly.
-
AttemptLists
AttemptList¶ New in version OnDemand: 2016.09
Methods Supported: - GET – reading attempt list entities
- POST – creating attempt list entities
Filters supported: - ID – primary key
- ExternalAttemptListID – external reference
Expansions supported: - Attempts – expands the associated Attempts
$orderby is not supported.
The AttemptLists feed supports the arbitrary grouping of attempts allowing a pre-defined group of attempts to be managed by a single proctor or external business process.
-
AttemptMetadata
AttemptMetadata¶ Methods Supported: - GET – reading attempt metadata key-value pairs
- POST – creating attempt metadata key-value pairs
Filters supported: - ID – primary key
- AttemptID – associated attempt
Expansions supported: - Attempt – expands the associated Attempt
$orderby is not supported.
The attempt metadata feed allows arbitrary metadata to be associated with an attempt. Although entities can be created and accessed directly from this feed they are always associated with an Attempt and can be created in a single OData call at the same time as the Attempt itself. For example:
POST <service root>/Attempts Content-Type: application/json { ExternalAttemptID: "Demo/2016-10-07.3", ParticipantID: 1459320309, AssessmentID: "9788463565326947", AttemptMetadata: [ { Key: "S1", Value: "Help" }, { Key: "S2", Value: "Me!" } ] }
The response is a new Attempt record:
201 Created Content-Type: application/json; charset=utf-8 { "odata.metadata": "<service root>/$metadata#Attempts/@Element", "ID": 180, "ParticipantFacingQMLobbyUrl": null, "ProctorFacingQMControlsWidgetUrl": "https://...", "ExternalAttemptID": "Demo/2016-10-07.3", "ParticipantID": 1459320309, "AssessmentID": "9788463565326947", "AssessmentSnapshotID": null, "ResultID": null, "LockStatus": false, "LockRequired": false, "ParticipantFacingProctorSystemWidgetUrl": null, "LastModifiedDateTime": "2016-10-07T16:20:00.341227Z", "Language": null, "AttemptListID": null }
You can see the newly created metadata records by expanding the AttemptMetadata:
GET <service root>/Attempts(180)?$expand=AttemptMetadata 200 OK Content-Type: application/json; charset=utf-8 { odata.metadata: "<service root>/$metadata#Attempts/@Element", AttemptMetadata: [ { Id: 2, AttemptId: 180, Key: "S1", Value: "Help" }, { Id: 3, AttemptId: 180, Key: "S2", Value: "Me!" } ], ID: 180, ParticipantFacingQMLobbyUrl: "qmsb:...", ProctorFacingQMControlsWidgetUrl: "https://...", ExternalAttemptID: "Demo/2016-10-07.3", ParticipantID: 1459320309, AssessmentID: "9788463565326947", AssessmentSnapshotID: null, ResultID: null, LockStatus: false, LockRequired: false, ParticipantFacingProctorSystemWidgetUrl: null, LastModifiedDateTime: "2016-10-07T16:20:00.34Z", Language: null, AttemptListID: null }
-
Attempts
Attempt¶ Methods Supported: - GET – reading attempt entities
- POST – creating attempt entities
Filters supported: - ID – primary key
- ExternalAttemptID – reference in external system
- ScheduleID – the associated schedule
- AttemptListID – the associated attempt list
Expansions supported: - AnswerUpload – expands the optional associated AnswerUpload
- AttemptList – expands the optional associated AttemptList
- AttemptMetadata – expands the optional metadata
- MonitoringType – expands the optional MonitoringType
- Result – expands the optional Result
$orderby is not supported.
The Attempts feed contains an entry for each attempt at an assessment. Attempts represent the authority to take a test and link to a specific participant, a specific assessment and (sometimes) a specific snapshot. There are also properties that can be used to control the security of the test.
The attempt flow is a relatively new way of providing access to launch tests through the APIs. Currently only used for specialist use cases such as online proctoring and printing and scanning the scope of the Attempts feed is gradually widening to provide a general platform for use by external systems that maintain their own business rules.
-
Dimensions
Dimension¶ Methods Supported: - GET – this feed is read only
Filters supported: - ID – primary key
Expansions supported: - Rubric – expands the associated Rubric
- DimensionScores – expands the associated collection of scores
The Dimensions feed contains information about the scoring dimensions associated with a rubric and is used for subjective marking.
-
DimensionScores
DimensionScore¶ Methods Supported: - GET – for reading individual scores
- PUT – for updating the scores
Filters supported: - QuestionID – note that ordering is not supported
- Order – supports $orderby only, cannot be used as a filter
Expansions supported: - Rubric – expands the associated Rubric
- Dimension – expands the Dimension of the Rubric
The DimensionScores feed contains information about the actual scores awarded to an answer by a subjective marking process on a per-dimension basis.
-
Groups
Group¶ Methods Supported: - GET – read only
Filters supported: - ID – primary key
- Name – filtering by group name
- RootGroupID – filtering by the top-level group (expected in 2018.02)
Expansions supported: - Administrators – the administrators responsible for the group
- Participants – the participant members of the group
- SubGroups – the optional list of sub-groups
- ParentGroup – the optional parent group (
see warning
) - PrintBatches – the optional list of associated PrintBatches
The Groups feed contains data about groups of participants. Entries are defined by the
Group
type.
-
MonitoringTypes
MonitoringType¶ Methods Supported: - GET – read only
Filters supported: - ID – primary key
- Name – the symbolic name of this monitoring type
$orderby is not supported.
The MonitoringTypes feed contains data about methods of monitoring assessments. Entries are defined by the
MonitoringType
type.
-
Participants
Participant¶ Methods Supported: - GET – read only
Filters supported: - ID – primary key
- Name – filtering by participant name
Expansions supported: - Groups – the collection of groups this participant is a member of
The Participants feed contains data about users that have the special Participant role.
-
PrintBatches
PrintBatch¶ Methods Supported: - GET – read only
Filters supported: - ID – primary key
- GroupID – the ID of the group associated with this batch
$orderby is not supported.
The PrintBatches feed contains information about a group of users who have been assigned a particular snapshot of an assessment to take externally, typically through printing and scanning.
-
Questions
Question¶ Methods Supported: - GET – read only
Filters supported: - ID – primary key
- QuestionType – see note in entity type on space padding
The Questions feed contains records describing all the questions in the assessment catalog.
-
QuestionTranslations
QuestionTranslation¶ An auxiliary feed to
Questions
containing translated versions of the Questions.
-
Results
Result¶ Methods Supported: - GET – read only
Filters supported: - ID – primary key
- AssessmentID – the related assessment
- ParticipantName – for filtering by Participant
- GroupName – for filtering by Group
- WhenFinished – for filtering by data of submission
Expansions supported: - Answers – the answers associated with this result
The Results feed contains data about assessment results. Entries are defined by the
deliveryodata.Result
type.
-
Rubrics
Rubric¶ Methods Supported: - GET – read only
The Rubrics feed contains the scoring rules for subjective questions.
-
Schedules
Schedule¶ Methods Supported: - GET – for reading schedules
- PATCH – for updating writable properties of a schedule
Filters supported: - ID – primary key
- ParticipantID – the associated participant
- GroupID – the associated group
- StartFrom – the schedule start time
- MonitoringTypeID – the associated monitoring type
- TestCenterID – the associated test center
$orderby is not supported.
-
ScoringResults
ScoringResult¶ Methods Supported: - GET – for reading scoring results
- PUT – for updating the score
Filters supported: - QuestionID – the question being answered
- ResultID – the result that generated the scoring task
Expansions supported: - ScoringTask – the task
- Rubric – the scoring rules
- DimensionScores – the individual dimension scores
The Scoring Results feed contains the scores awarded by subjective marking. ScoringResults are associated with ScoringTasks.
-
ScoringTasks
ScoringTask¶ Methods Supported: - GET – for reading scoring tasks
- PUT – for updating the status of a scoring task
Filters supported: - QuestionID – the question being answered
- ResultID – the result that generated the scoring task
- Status – the status of the scoring task
Expansions supported: - Assessment – expands the assessment that was being taken
- Question – expands the question that was answered
- Result – expands the result that generated the scoring task
- Answer – expands the answer that generated the scoring task
- Group – expands the optional Group related to this task
- ScoringResult – use with caution, see
ScoringTask.ScoringResult
for details
The ScoringTasks feed contains one entity for each
Answer
that requires subjective scoring. The scores actually awarded are in the associatedScoringResult
.
-
TestCenters
TestCenter¶ Methods Supported: - GET – for reading test centres
Filters supported: - ID – the primary key
- Name – the test center name
$orderby is not supported.