{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/education.gpa_letter.input.json",
  "title": "GPA ↔ letter grade — input",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "to-letter",
        "to-gpa"
      ],
      "description": "to-letter maps GPA to a letter; to-gpa looks up points for one letter"
    },
    "gpa": {
      "type": "number",
      "description": "Numeric GPA for to-letter"
    },
    "letter": {
      "type": "string",
      "description": "Letter grade for to-gpa (A+…F)"
    },
    "scale": {
      "type": "string",
      "enum": [
        "plus-minus",
        "flat",
        "linear5",
        "weighted"
      ],
      "description": "plus-minus 4.33 (default), flat 4.0, or linear 5.0 (weighted is an alias of linear5)"
    },
    "match": {
      "type": "string",
      "enum": [
        "nearest",
        "floor"
      ],
      "description": "to-letter matching. nearest ties toward the higher letter."
    }
  },
  "required": [
    "mode"
  ],
  "description": "Approximate GPA↔letter lookup on plus/minus 4.33, flat 4.0, or linear 5.0 normalization. One table, two SEO entries (GPA→letter and letter→GPA). (calculation_version 1.1.2)"
}
