Chart Generation - Interim Data

POST/student-growth-interim: Generate a growth chart based on student interim assessment data.

Given historical student performance (measurements, dates) on interim assessments, this API will generate a graph of their projected growth. No PII is required by the API, and no data is saved. Graphs can be generated for either the Lexile or Quantile measures, and in either English or Spanish.

The graph plots the student's measures and makes a prediction for growth through 12th grade. Other optional visual graph indicators include a recommended growth path, as well as various target ranges. The graph is WCAG 2.1 AA compliant, and all information required for the generation of informative alt-text is in the response data. Clients should use this data to write their own alt-text.

Parameters

POST/authToken Retrieve an Auth Token for use with protected endpoints.

application/json

Sample request body for the Lexile scale.
{
  "scale": "lexile",
  "language": "english",
  "measures": [
    {
      "testDate": {
        "month": 3,
        "year": 2021
      },
      "schoolYearStart": {
        "month": 8,
        "year": 2020
      },
      "grade": 4,
      "measure": 815
    },
    {
      "testDate": {
        "month": 3,
        "year": 2022
      },
      "schoolYearStart": {
        "month": 8,
        "year": 2021
      },
      "grade": 5,
      "measure": 930
    },
    {
      "testDate": {
        "month": 3,
        "year": 2023
      },
      "schoolYearStart": {
        "month": 8,
        "year": 2022
      },
      "grade": 6,
      "measure": 1040
    },
    {
      "testDate": {
        "month": 3,
        "year": 2024
      },
      "schoolYearStart": {
        "month": 8,
        "year": 2023
      },
      "grade": 7,
      "measure": 1170
    }
  ],
  "additionalOptions": [
    "recommendedGrowthPath",
    "universityReadinessRange",
    "communityCollegeReadinessRange",
    "workplaceReadinessRange"
  ]
}
Sample request body for the Lexile scale with custom target ranges.
{
  "scale": "lexile",
  "language": "english",
  "measures": [
    {
      "testDate": {
        "month": 3,
        "year": 2021
      },
      "schoolYearStart": {
        "month": 8,
        "year": 2020
      },
      "grade": 4,
      "measure": 815
    }
  ],
  "targetRanges": {
    "harderRange": {
      "max": {
        "value": 1500
      },
      "min": {
        "value": 1300
      },
      "label": "More Difficult Target"
    },
    "easierRange": {
      "max": {
        "value": 1300
      },
      "min": {
        "value": 1100
      },
      "label": "Less Difficult Target"
    }
  }
}
Sample request body for the Quantile scale.
{
  "scale": "quantile",
  "language": "english",
  "measures": [
    {
      "testDate": {
        "month": 3,
        "year": 2021
      },
      "schoolYearStart": {
        "month": 8,
        "year": 2020
      },
      "grade": 4,
      "measure": 815
    },
    {
      "testDate": {
        "month": 3,
        "year": 2022
      },
      "schoolYearStart": {
        "month": 8,
        "year": 2021
      },
      "grade": 5,
      "measure": 930
    },
    {
      "testDate": {
        "month": 3,
        "year": 2023
      },
      "schoolYearStart": {
        "month": 8,
        "year": 2022
      },
      "grade": 6,
      "measure": 1040
    },
    {
      "testDate": {
        "month": 3,
        "year": 2024
      },
      "schoolYearStart": {
        "month": 8,
        "year": 2023
      },
      "grade": 7,
      "measure": 1170
    }
  ],
  "additionalOptions": [
    "recommendedGrowthPath",
    "advancedCollegeAndCareerReadinessRange",
    "fundamentalCollegeAndCareerReadinessRange",
    "limitedCollegeAndCareerReadinessRange"
  ]
}

Responses

Code Description
200

Success

Media Type: application/json

Example Value / Schema

{
  "finalEstimate": 1000,
  "finalTarget": 1000,
  "targetRanges": {
    "harderRange": {
      "max": {
        "value": 1500
      },
      "min": {
        "value": 1300
      },
      "label": "More Difficult Target"
    },
    "easierRange": {
      "max": {
        "value": 1300
      },
      "min": {
        "value": 1100
      },
      "label": "Less Difficult Target"
    }
  },
  "codes": [
    "belowCCR"
  ],
  "finalMeasures": {
    "estimate": {
      "value": 1000,
      "display": "1000L"
    },
    "target": {
      "value": 1200,
      "display": "1200L"
    }
  },
  "chart": "string placeholder for brevity of base64-encoded chart."
}
400

Validation error response

Media Type: application/json

Example Value / Schema

{
  "type": "validation_error",
  "errors": [
    {
      "code": "required",
      "detail": "Scale is required",
      "attr": "scale"
    }
  ]
}
401

Client error response

Media Type: application/json

Example Value / Schema

{
  "type": "client_error",
  "errors": [
    {
      "code": "not_authenticated",
      "detail": "Authentication credentials were not provided.",
      "attr": null
    }
  ]
}
500

Server error response

Media Type: application/json

Example Value / Schema

{
  "type": "server_error",
  "errors": [
    {
      "code": "error",
      "detail": "A server error occurred.",
      "attr": null
    }
  ]
}