Creates one or more test sessions for a specific test release. Each session is attached to a specific testing instance and to a specific test candidate. Each session record must have a unique candidate_id and access_code.
At most, 10,000 new sessions may be created in one call. If your roster of sessions exceeds this amount, consider breaking up your roster into multiple commands.
Creating a session record for a candidate's test-taking session is the final command necessary before rendering items for the candidate.
Tip: We recommend calling this API command at the time the student is beginning the test.
Important: Submitting a significant number of session requests (~10,000) can take as long as 20 seconds to receive a response. Be sure to either warn your application users of this delay, or send the command to the background so your users do not experience a delay.
|POST /test/<test_id>/release/<release_id>/sessions/create HTTP/1.1|
This command accepts one field, sessions, which needs to be an array of session records.
The following fields may be submitted in a session record:
|(Required) ID of student, candidate, or test-taker. The ID should ideally be the ID held on file by the educational authority, but at the very least must meet the following criteria:
|gender||(Optional) The gender of the candidate. See below for acceptable values, and for security considerations.||string|
|grade_level||(Optional) The grade level of the candidate. See below for acceptable values, and for security considerations.||string|
|ethnicity||(Optional) The ethnicity of the candidate. See below for acceptable values, and for security considerations.||string|
|access_code||(Optional) Password-like string used to access items that can be rendered by ItemLogic. This string should be unique to every candidate within a test release. This code will not be stored in a case-sensitive manner. If one is not provided, one will be automatically generated and returned on a successful POST.||string|
|name_first||(Optional) Candidate's first name.||string|
|name_middle||(Optional) Candidate's middle name.||string|
|name_last||(Optional) Candidate's last name.||string|
|school_id||(Optional) School ID.||string|
|district_id||(Optional) School district ID.||string|
Returned data consists of an echo of the data submitted, with the exception that an identifier, id, is also returned with each record. These records will be returned within a sessions field. Save this value on your platform along with access_code on your platform. You will need this to render an item for which a responses is expected to be persisted.
Grade Level Values
|Pre-Kindergarten||Kindergarten||Grades 1-12||Adult Education|
|K||1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12||AE|
To avoid sending PII (Personally Identifying Information), we suggest hashing, using MD5, for example, on the candidate_id before sending this information to ensure it is anonymized.