Chart Generation - Summative Data

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

Given historical student performance (measurements, dates) on summative 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 frameworks, and in either English or Spanish.

The graph plots the student's measures and makes a prediction for growth through 12th grade. Visual indicators on the graph show the recommended growth path, as well as various Readiness 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 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

Responses

Code Description
200

Success

Media Type: application/json

Example Value / Schema

{
  "finalEstimate": 1000,
  "finalTarget": 1000,
  "targetRanges": {
    "communityCollegeReadinessRange": {
      "max": {
        "value": 1370
      },
      "min": {
        "value": 1200
      },
      "label": "Community College Readiness Range"
    },
    "universityReadinessRange": {
      "max": {
        "value": 1480
      },
      "min": {
        "value": 1300
      },
      "label": "University Readiness Range"
    }
  },
  "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
    }
  ]
}