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.