Growth Planner Chart API

Before using this API, you must obtain an Authentication Token from the authToken endpoint. Use that endpoint to pass your client credentials and receive an accessToken. Then hit the Authorize button and paste the token into that field. This will allow you to make requests to the protected endpoints.

Authentication

Returns an accessToken to be passed in the Authorization header for other endpoints. By default, the token lasts 24 hours, and the response will include the number of seconds the token expiresIn. This token is cached on the API, so subsequent calls are very fast and will return the same token until expiration is near.

It is an advisable best practice to either call the authToken endpoint before every call, or to cache the token on your end, and be prepared to respond to a 401 once the token has expired by retrieving a new token and resending the request.

Parameters

{
  "clientId": "abcdefg",
  "clientSecret": "hijklmnopqrstuvwxyz"
}

Responses

Code Description Example
200 Success
{
  "accessToken": "aBcDeFgGHiJkLmNoP",
  "expiresIn": 86400
}
400 Bad Request
{
  "clientId": [
    "This field may not be blank."
  ],
  "clientSecret": [
    "This field may not be blank."
  ]
}
401 Unauthorized
{
  "message": "Invalid Authentication credentials provided",
  "exceptionType": "CredentialError",
  "success": false,
  "errorMsg": "Invalid Authentication credentials provided"
}

Chart Generation

Given historical student performance (measurements, dates), 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 should be 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.

Example:
{
  "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"
  ]
}

Responses

Code Description Example
200 Success
{
  "finalEstimate": 1328,
  "finalTarget": 1300,
  "codes": [
    "closestDecile",
    "withinCCR",
    "withinURR",
    "withinCCRR",
    "withinWRR"
  ]
400 Bad Request
{
  "message": "string",
  "exception_type": "string",
  "success": false,
  "error_msg": {},
  "validation_errors": {}
}
401 Unauthorized
{
  "message": "Authentication credentials were not provided.",
  "exception_type": "NotAuthenticated",
  "success": false,
  "error_msg": "Authentication credentials were not provided."
}

Schemas

lexileMeasureCollapse ➔ all integer [-400, 2000]

Numeric Measure field for the Lexile framework. Example 1000

quantileMeasure ➔ Expand all integer [-400, 1650]

Numeric Measure field for the Quantile framework. Example 1000

measureField ➔ Expand all (any | any)

Integer representation of measurement. Valid range is determined by scale.

One of Expand all (integer | integer)

dateField ➔ Expand all object

month integer [1, 12]

year integer ≥ 0

lexileAdditionalOptions ➔ Expand all string

Valid additionalOptions when scale is "lexile".

Allowed values "recommendedGrowthPath" "universityReadinessRange"

"communityCollegeReadinessRange" "workplaceReadinessRange"

quantileAdditionalOptions ➔Expand all string

Valid additionalOptions when scale is "quantile".

Allowed values "recommendedGrowthPath" "advancedCollegeAndCareerReadinessRange" "fundamentalCollegeAndCareerReadinessRange" "limitedCollegeAndCareerReadinessRange"