Standard Scoring with Strand-Level Results
This article describes the strand-level scoring endpoint for the Standard Scoring Service. This endpoint returns an overall ability score along with a breakdown of performance by individual skill areas (strands) — in a single API call.
What Changed
Previously, retrieving strand-level performance required making a scoring call and then applying a separate conversion table to map results into skill-area measures and performance bands. This endpoint handles that process automatically and returns strand scores directly in the response.
URL
POST /api/score/items/idsWithResults/standard/strands
Request
The following parameters are required in the request. An example is provided below.
| Parameter | Type | Description |
|---|---|---|
grade |
integer | Required. The student's grade level (e.g. 0 for Kindergarten, 3 for Grade 3). |
timeOfYear |
string | Required. The point in the school year. Accepted values: BOY (Beginning), MOY (Middle), EOY (End). |
items |
array | Required. A list of assessment items the student responded to. |
items[].id |
string | Required. The unique identifier for the item (e.g. "Q1234"). |
items[].result |
integer | Required. The student's response result for that item. |
Example request:
{
"grade": 3,
"timeOfYear": "BOY",
"items": [
{ "id": "Q1234", "result": 1 },
{ "id": "Q1235", "result": 0 }
]
}
Response
A successful response (HTTP 200) returns an overall ability score and a strands array containing one entry per skill area assessed.
| Parameter | Type | Description |
|---|---|---|
ability |
integer | The raw research measure of the student's overall ability. |
abilityDisplay |
string | The display-ready formatted measure with all business rules applied. |
uncertainty |
integer | The confidence range around the overall ability estimate. |
framework |
string | The scoring framework used (e.g. "lexile"). |
apiVersion |
string | The build version of the API that processed the request. |
strands |
array | A list of strand-level results. See fields below. |
strands[].name |
string | The name of the individual strand (e.g. "Phonics"). |
strands[].category |
integer | The performance category for that strand. Integer value of 1, 2, or 3. |
Example response:
{
"ability": 320,
"abilityDisplay": "320L",
"uncertainty": 288,
"framework": "lexile",
"apiVersion": "ecf08905-main",
"strands": [
{
"name": "Phonics",
"category": 3
}
]
}
Error Responses
| HTTP Code | Meaning | What to Check |
|---|---|---|
| 400 | Invalid input | Check that all required fields are present and that item IDs and results are formatted correctly. The response body will include specific validation errors. |
| 401 | Unauthorized | Your credentials could not be verified. Check that you are sending a valid authentication token. |
| 403 | Forbidden | Your account does not have the required permissions to use this endpoint. Contact your account manager if you believe this is an error. |
Related Resources
- For performance band definitions, see the Performance Band Reference article.
- For the standard scoring call without strands, see Standard Scoring Service.
