{
  "openapi" : "3.0.1",
  "info" : {
    "title" : "OpenAPI schema for Edu-API Gradebook Service",
    "description" : "The Edu-API Gradebook Service enables the exchange of gradebook data. This exchange is typically between the Student Information System and the learning delivery systems. The service provides a number of operations, collected as several endpoints, primarily based upon read, create and delete of the first class objects.",
    "termsOfService" : "https://www.imsglobal.org/license.html",
    "contact" : {
      "name" : "IMS Global",
      "url" : "https://www.imsglobal.org",
      "email" : "support@imsglobal.org"
    },
    "license" : {
      "name" : "IMS Global Specification Document License",
      "url" : "https://www.imsglobal.org/license.html"
    },
    "version" : "1.0",
    "x-status" : "Candidate Final",
    "x-model-pid" : "org.1edtech.eduapigradebook.v1p0.model",
    "x-service-pid" : "org.1edtech.eduapigradebook.v1p0.rest.servicemodel",
    "x-src-operation-count" : 30,
    "x-oas-operation-count" : 30
  },
  "servers" : [ {
    "url" : "https://example.org/ims/eduapi/gradebook/v1p0",
    "description" : "The above Server URL should be changed to the actual server location."
  } ],
  "tags" : [ {
    "name" : "Category Management",
    "description" : "Operations relating to management of gradebook categories"
  }, {
    "name" : "LineItems Management",
    "description" : "Operations relating to management of gradebook line items"
  }, {
    "name" : "Result Management",
    "description" : "Operations relating to management of gradebook results"
  }, {
    "name" : "Score Scale Management",
    "description" : "Operations relating to management of gradebook score scales"
  } ],
  "paths" : {
    "/categories" : {
      "get" : {
        "tags" : [ "CategoryManagement" ],
        "summary" : "The REST GET operation for the getAllCategories() API call.",
        "description" : "Read all categories for an institution",
        "operationId" : "getAllCategories",
        "parameters" : [ {
          "$ref" : "#/components/parameters/limit"
        }, {
          "$ref" : "#/components/parameters/offset"
        }, {
          "$ref" : "#/components/parameters/sort"
        }, {
          "$ref" : "#/components/parameters/orderBy"
        }, {
          "$ref" : "#/components/parameters/filter"
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getAllCategories() API call.",
            "headers" : {
              "X-Total-Count" : {
                "$ref" : "#/components/headers/X-Total-Count"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "minItems" : 1,
                  "type" : "array",
                  "description" : "A category is a grouping of line items used to organize grading and, where applicable, support weighting in grade calculations.",
                  "items" : {
                    "$ref" : "#/components/schemas/Category"
                  }
                }
              }
            },
            "links" : {
              "next" : {
                "$ref" : "#/components/links/next"
              },
              "last" : {
                "$ref" : "#/components/links/last"
              },
              "first" : {
                "$ref" : "#/components/links/first"
              },
              "prev" : {
                "$ref" : "#/components/links/prev"
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.getallcategories.operation"
      },
      "post" : {
        "tags" : [ "CategoryManagement" ],
        "summary" : "The REST POST operation for the postCategories() API call.",
        "description" : "Create a set of categories",
        "operationId" : "postCategories",
        "requestBody" : {
          "description" : "The request body for the postCategories operation.",
          "content" : {
            "application/json" : {
              "schema" : {
                "minItems" : 1,
                "type" : "array",
                "description" : "A category is a grouping of line items used to organize grading and, where applicable, support weighting in grade calculations.",
                "items" : {
                  "$ref" : "#/components/schemas/Category"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "The response MUST include the complete Category objects with the allocated sourcedId values. It is the client's responsibility to reconcile any differences between the sourcedId values supplied in the request body and those returned by the server.",
            "headers" : {
              "X-Total-Count" : {
                "$ref" : "#/components/headers/X-Total-Count"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "minItems" : 1,
                  "type" : "array",
                  "description" : "A category is a grouping of line items used to organize grading and, where applicable, support weighting in grade calculations.",
                  "items" : {
                    "$ref" : "#/components/schemas/Category"
                  }
                }
              }
            },
            "links" : {
              "next" : {
                "$ref" : "#/components/links/next"
              },
              "last" : {
                "$ref" : "#/components/links/last"
              },
              "first" : {
                "$ref" : "#/components/links/first"
              },
              "prev" : {
                "$ref" : "#/components/links/prev"
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "As defined in [[rfc9110]], indicating that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "405" : {
            "description" : "As defined in [[rfc9110]], indicating that the server does not allow the method.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.postcategories.operation"
      }
    },
    "/categories/{id}" : {
      "get" : {
        "tags" : [ "CategoryManagement" ],
        "summary" : "The REST GET operation for the getCategoryById() API call.",
        "description" : "Read a category with a specific id",
        "operationId" : "getCategoryById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The sourcedId of the category",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getCategoryById() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Category"
                }
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "As defined in [[rfc9110]], indicating that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.getcategorybyid.operation"
      },
      "put" : {
        "tags" : [ "CategoryManagement" ],
        "summary" : "The REST PUT operation for the putCategoryById() API call.",
        "description" : "Update the category with current information",
        "operationId" : "putCategoryById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The sourcedId of the category",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        } ],
        "requestBody" : {
          "description" : "The request body for the putCategoryById operation.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Category"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the putCategoryById() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Category"
                }
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "As defined in [[rfc9110]], indicating that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.putcategorybyid.operation"
      },
      "delete" : {
        "tags" : [ "CategoryManagement" ],
        "summary" : "The REST DELETE operation for the deleteCategoryById() API call.",
        "description" : "Delete a category with a specific id",
        "operationId" : "deleteCategoryById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The sourcedId of the category",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "The 204 (NO_CONTENT) response to the deleteCategoryById() API call."
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "As defined in [[rfc9110]], indicating that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.deletecategorybyid.operation"
      }
    },
    "/courseOfferings/{courseOfferingId}/categories" : {
      "get" : {
        "tags" : [ "CategoryManagement" ],
        "summary" : "The REST GET operation for the getAllCategoriesForCourseOffering() API call.",
        "description" : "Read all categories for a specific course offering",
        "operationId" : "getAllCategoriesForCourseOffering",
        "parameters" : [ {
          "name" : "courseOfferingId",
          "in" : "path",
          "description" : "The sourcedId of the course offering",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        }, {
          "$ref" : "#/components/parameters/limit"
        }, {
          "$ref" : "#/components/parameters/offset"
        }, {
          "$ref" : "#/components/parameters/sort"
        }, {
          "$ref" : "#/components/parameters/orderBy"
        }, {
          "$ref" : "#/components/parameters/filter"
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getAllCategoriesForCourseOffering() API call.",
            "headers" : {
              "X-Total-Count" : {
                "$ref" : "#/components/headers/X-Total-Count"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "minItems" : 1,
                  "type" : "array",
                  "description" : "A category is a grouping of line items used to organize grading and, where applicable, support weighting in grade calculations.",
                  "items" : {
                    "$ref" : "#/components/schemas/Category"
                  }
                }
              }
            },
            "links" : {
              "next" : {
                "$ref" : "#/components/links/next"
              },
              "last" : {
                "$ref" : "#/components/links/last"
              },
              "first" : {
                "$ref" : "#/components/links/first"
              },
              "prev" : {
                "$ref" : "#/components/links/prev"
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.getallcategoriesforcourseoffering.operation"
      }
    },
    "/componentOfferings/{componentOfferingId}/categories" : {
      "get" : {
        "tags" : [ "CategoryManagement" ],
        "summary" : "The REST GET operation for the getAllCategoriesForComponentOffering() API call.",
        "description" : "Read all categories for a specific component offering",
        "operationId" : "getAllCategoriesForComponentOffering",
        "parameters" : [ {
          "name" : "componentOfferingId",
          "in" : "path",
          "description" : "The sourcedId of the component offering",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        }, {
          "$ref" : "#/components/parameters/limit"
        }, {
          "$ref" : "#/components/parameters/offset"
        }, {
          "$ref" : "#/components/parameters/sort"
        }, {
          "$ref" : "#/components/parameters/orderBy"
        }, {
          "$ref" : "#/components/parameters/filter"
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getAllCategoriesForComponentOffering() API call.",
            "headers" : {
              "X-Total-Count" : {
                "$ref" : "#/components/headers/X-Total-Count"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "minItems" : 1,
                  "type" : "array",
                  "description" : "A category is a grouping of line items used to organize grading and, where applicable, support weighting in grade calculations.",
                  "items" : {
                    "$ref" : "#/components/schemas/Category"
                  }
                }
              }
            },
            "links" : {
              "next" : {
                "$ref" : "#/components/links/next"
              },
              "last" : {
                "$ref" : "#/components/links/last"
              },
              "first" : {
                "$ref" : "#/components/links/first"
              },
              "prev" : {
                "$ref" : "#/components/links/prev"
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.getallcategoriesforcomponentoffering.operation"
      }
    },
    "/lineItems" : {
      "get" : {
        "tags" : [ "LineItemsManagement" ],
        "summary" : "The REST GET operation for the getAllLineItems() API call.",
        "description" : "Read all line items for an institution",
        "operationId" : "getAllLineItems",
        "parameters" : [ {
          "$ref" : "#/components/parameters/limit"
        }, {
          "$ref" : "#/components/parameters/offset"
        }, {
          "$ref" : "#/components/parameters/sort"
        }, {
          "$ref" : "#/components/parameters/orderBy"
        }, {
          "$ref" : "#/components/parameters/filter"
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getAllLineItems() API call.",
            "headers" : {
              "X-Total-Count" : {
                "$ref" : "#/components/headers/X-Total-Count"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "minItems" : 1,
                  "type" : "array",
                  "description" : "A line item defines what a reported score or grade is for. It may reference a specific graded activity or represent a summary grade such as a midterm or final. It does not define the activity itself, but serves as the mechanism for associating results to it.",
                  "items" : {
                    "$ref" : "#/components/schemas/LineItem"
                  }
                }
              }
            },
            "links" : {
              "next" : {
                "$ref" : "#/components/links/next"
              },
              "last" : {
                "$ref" : "#/components/links/last"
              },
              "first" : {
                "$ref" : "#/components/links/first"
              },
              "prev" : {
                "$ref" : "#/components/links/prev"
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.getalllineitems.operation"
      }
    },
    "/lineItems/{id}" : {
      "get" : {
        "tags" : [ "LineItemsManagement" ],
        "summary" : "The REST GET operation for the getLineItemById() API call.",
        "description" : "Read a LineItem with a specific id",
        "operationId" : "getLineItemById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The sourcedId of the LineItem",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getLineItemById() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LineItem"
                }
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "As defined in [[rfc9110]], indicating that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.getlineitembyid.operation"
      },
      "put" : {
        "tags" : [ "LineItemsManagement" ],
        "summary" : "The REST PUT operation for the putLineItemById() API call.",
        "description" : "Update the LineItem with current information",
        "operationId" : "putLineItemById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The sourcedId of the LineItem",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        } ],
        "requestBody" : {
          "description" : "The request body for the putLineItemById operation.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LineItem"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the putLineItemById() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LineItem"
                }
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "As defined in [[rfc9110]], indicating that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.putlineitembyid.operation"
      },
      "delete" : {
        "tags" : [ "LineItemsManagement" ],
        "summary" : "The REST DELETE operation for the deleteLineItemById() API call.",
        "description" : "Delete a line item with a specific id",
        "operationId" : "deleteLineItemById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The sourcedId of the LineItem",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "The 204 (NO_CONTENT) response to the deleteLineItemById() API call."
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "As defined in [[rfc9110]], indicating that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.deletelineitembyid.operation"
      }
    },
    "/courseOfferings/{courseOfferingId}/lineItems" : {
      "get" : {
        "tags" : [ "LineItemsManagement" ],
        "summary" : "The REST GET operation for the getAllLineItemsForCourseOffering() API call.",
        "description" : "Read all line items for a specific course offering",
        "operationId" : "getAllLineItemsForCourseOffering",
        "parameters" : [ {
          "name" : "courseOfferingId",
          "in" : "path",
          "description" : "The sourcedId of the course offering",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        }, {
          "$ref" : "#/components/parameters/limit"
        }, {
          "$ref" : "#/components/parameters/offset"
        }, {
          "$ref" : "#/components/parameters/sort"
        }, {
          "$ref" : "#/components/parameters/orderBy"
        }, {
          "$ref" : "#/components/parameters/filter"
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getAllLineItemsForCourseOffering() API call.",
            "headers" : {
              "X-Total-Count" : {
                "$ref" : "#/components/headers/X-Total-Count"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "minItems" : 1,
                  "type" : "array",
                  "description" : "A line item defines what a reported score or grade is for. It may reference a specific graded activity or represent a summary grade such as a midterm or final. It does not define the activity itself, but serves as the mechanism for associating results to it.",
                  "items" : {
                    "$ref" : "#/components/schemas/LineItem"
                  }
                }
              }
            },
            "links" : {
              "next" : {
                "$ref" : "#/components/links/next"
              },
              "last" : {
                "$ref" : "#/components/links/last"
              },
              "first" : {
                "$ref" : "#/components/links/first"
              },
              "prev" : {
                "$ref" : "#/components/links/prev"
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.getalllineitemsforcourseoffering.operation"
      },
      "post" : {
        "tags" : [ "LineItemsManagement" ],
        "summary" : "The REST POST operation for the postLineItemsForCourseOffering() API call.",
        "description" : "Create a set of line items for a course offering",
        "operationId" : "postLineItemsForCourseOffering",
        "parameters" : [ {
          "name" : "courseOfferingId",
          "in" : "path",
          "description" : "The sourcedId of the course offering",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        } ],
        "requestBody" : {
          "description" : "The request body for the postLineItemsForCourseOffering operation.",
          "content" : {
            "application/json" : {
              "schema" : {
                "minItems" : 1,
                "type" : "array",
                "description" : "A line item defines what a reported score or grade is for. It may reference a specific graded activity or represent a summary grade such as a midterm or final. It does not define the activity itself, but serves as the mechanism for associating results to it.",
                "items" : {
                  "$ref" : "#/components/schemas/LineItem"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "The response MUST include the complete LineItem objects with the allocated sourcedId values. It is the client's responsibility to reconcile any differences between the sourcedId values supplied in the request body and those returned by the server.",
            "headers" : {
              "X-Total-Count" : {
                "$ref" : "#/components/headers/X-Total-Count"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "minItems" : 1,
                  "type" : "array",
                  "description" : "A line item defines what a reported score or grade is for. It may reference a specific graded activity or represent a summary grade such as a midterm or final. It does not define the activity itself, but serves as the mechanism for associating results to it.",
                  "items" : {
                    "$ref" : "#/components/schemas/LineItem"
                  }
                }
              }
            },
            "links" : {
              "next" : {
                "$ref" : "#/components/links/next"
              },
              "last" : {
                "$ref" : "#/components/links/last"
              },
              "first" : {
                "$ref" : "#/components/links/first"
              },
              "prev" : {
                "$ref" : "#/components/links/prev"
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "As defined in [[rfc9110]], indicating that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "405" : {
            "description" : "As defined in [[rfc9110]], indicating that the server does not allow the method.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.postlineitemsforcourseoffering.operation"
      }
    },
    "/componentOfferings/{componentOfferingId}/lineItems" : {
      "get" : {
        "tags" : [ "LineItemsManagement" ],
        "summary" : "The REST GET operation for the getAllLineItemsForComponentOffering() API call.",
        "description" : "Read all line items for a specific component offering",
        "operationId" : "getAllLineItemsForComponentOffering",
        "parameters" : [ {
          "name" : "componentOfferingId",
          "in" : "path",
          "description" : "The sourcedId of the component offering",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        }, {
          "$ref" : "#/components/parameters/limit"
        }, {
          "$ref" : "#/components/parameters/offset"
        }, {
          "$ref" : "#/components/parameters/sort"
        }, {
          "$ref" : "#/components/parameters/orderBy"
        }, {
          "$ref" : "#/components/parameters/filter"
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getAllLineItemsForComponentOffering() API call.",
            "headers" : {
              "X-Total-Count" : {
                "$ref" : "#/components/headers/X-Total-Count"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "minItems" : 1,
                  "type" : "array",
                  "description" : "A line item defines what a reported score or grade is for. It may reference a specific graded activity or represent a summary grade such as a midterm or final. It does not define the activity itself, but serves as the mechanism for associating results to it.",
                  "items" : {
                    "$ref" : "#/components/schemas/LineItem"
                  }
                }
              }
            },
            "links" : {
              "next" : {
                "$ref" : "#/components/links/next"
              },
              "last" : {
                "$ref" : "#/components/links/last"
              },
              "first" : {
                "$ref" : "#/components/links/first"
              },
              "prev" : {
                "$ref" : "#/components/links/prev"
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.getalllineitemsforcomponentoffering.operation"
      },
      "post" : {
        "tags" : [ "LineItemsManagement" ],
        "summary" : "The REST POST operation for the postLineItemsForComponentOffering() API call.",
        "description" : "Create a set of line items for a component offering",
        "operationId" : "postLineItemsForComponentOffering",
        "parameters" : [ {
          "name" : "componentOfferingId",
          "in" : "path",
          "description" : "The sourcedId of the component offering",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        } ],
        "requestBody" : {
          "description" : "The request body for the postLineItemsForComponentOffering operation.",
          "content" : {
            "application/json" : {
              "schema" : {
                "minItems" : 1,
                "type" : "array",
                "description" : "A line item defines what a reported score or grade is for. It may reference a specific graded activity or represent a summary grade such as a midterm or final. It does not define the activity itself, but serves as the mechanism for associating results to it.",
                "items" : {
                  "$ref" : "#/components/schemas/LineItem"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "The response MUST include the complete LineItem objects with the allocated sourcedId values. It is the client's responsibility to reconcile any differences between the sourcedId values supplied in the request body and those returned by the server.",
            "headers" : {
              "X-Total-Count" : {
                "$ref" : "#/components/headers/X-Total-Count"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "minItems" : 1,
                  "type" : "array",
                  "description" : "A line item defines what a reported score or grade is for. It may reference a specific graded activity or represent a summary grade such as a midterm or final. It does not define the activity itself, but serves as the mechanism for associating results to it.",
                  "items" : {
                    "$ref" : "#/components/schemas/LineItem"
                  }
                }
              }
            },
            "links" : {
              "next" : {
                "$ref" : "#/components/links/next"
              },
              "last" : {
                "$ref" : "#/components/links/last"
              },
              "first" : {
                "$ref" : "#/components/links/first"
              },
              "prev" : {
                "$ref" : "#/components/links/prev"
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "As defined in [[rfc9110]], indicating that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "405" : {
            "description" : "As defined in [[rfc9110]], indicating that the server does not allow the method.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.postlineitemsforcomponentoffering.operation"
      }
    },
    "/organizations/{organizationId}/lineItems" : {
      "post" : {
        "tags" : [ "LineItemsManagement" ],
        "summary" : "The REST POST operation for the postLineItemsForOrganization() API call.",
        "description" : "Create a set of line items for an Edu-API organization",
        "operationId" : "postLineItemsForOrganization",
        "parameters" : [ {
          "name" : "organizationId",
          "in" : "path",
          "description" : "The sourcedId of the organization",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        } ],
        "requestBody" : {
          "description" : "The request body for the postLineItemsForOrganization operation.",
          "content" : {
            "application/json" : {
              "schema" : {
                "minItems" : 1,
                "type" : "array",
                "description" : "A line item defines what a reported score or grade is for. It may reference a specific graded activity or represent a summary grade such as a midterm or final. It does not define the activity itself, but serves as the mechanism for associating results to it.",
                "items" : {
                  "$ref" : "#/components/schemas/LineItem"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "The response MUST include the complete LineItem objects with the allocated sourcedId values. It is the client's responsibility to reconcile any differences between the sourcedId values supplied in the request body and those returned by the server.",
            "headers" : {
              "X-Total-Count" : {
                "$ref" : "#/components/headers/X-Total-Count"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "minItems" : 1,
                  "type" : "array",
                  "description" : "A line item defines what a reported score or grade is for. It may reference a specific graded activity or represent a summary grade such as a midterm or final. It does not define the activity itself, but serves as the mechanism for associating results to it.",
                  "items" : {
                    "$ref" : "#/components/schemas/LineItem"
                  }
                }
              }
            },
            "links" : {
              "next" : {
                "$ref" : "#/components/links/next"
              },
              "last" : {
                "$ref" : "#/components/links/last"
              },
              "first" : {
                "$ref" : "#/components/links/first"
              },
              "prev" : {
                "$ref" : "#/components/links/prev"
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "As defined in [[rfc9110]], indicating that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "405" : {
            "description" : "As defined in [[rfc9110]], indicating that the server does not allow the method.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.postlineitemsfororganization.operation"
      }
    },
    "/results" : {
      "get" : {
        "tags" : [ "ResultManagement" ],
        "summary" : "The REST GET operation for the getAllResults() API call.",
        "description" : "Read all results within the available context",
        "operationId" : "getAllResults",
        "parameters" : [ {
          "$ref" : "#/components/parameters/limit"
        }, {
          "$ref" : "#/components/parameters/offset"
        }, {
          "$ref" : "#/components/parameters/sort"
        }, {
          "$ref" : "#/components/parameters/orderBy"
        }, {
          "$ref" : "#/components/parameters/filter"
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getAllResults() API call.",
            "headers" : {
              "X-Total-Count" : {
                "$ref" : "#/components/headers/X-Total-Count"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "minItems" : 1,
                  "type" : "array",
                  "description" : "Represents the score or grade for a person on a LineItem, together with the context required to interpret that result.",
                  "items" : {
                    "$ref" : "#/components/schemas/Result"
                  }
                }
              }
            },
            "links" : {
              "next" : {
                "$ref" : "#/components/links/next"
              },
              "last" : {
                "$ref" : "#/components/links/last"
              },
              "first" : {
                "$ref" : "#/components/links/first"
              },
              "prev" : {
                "$ref" : "#/components/links/prev"
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.getallresults.operation"
      }
    },
    "/results/{id}" : {
      "get" : {
        "tags" : [ "ResultManagement" ],
        "summary" : "The REST GET operation for the getResultById() API call.",
        "description" : "Read a Result with a specific id",
        "operationId" : "getResultById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The sourcedId of the Result",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getResultById() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Result"
                }
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "As defined in [[rfc9110]], indicating that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.getresultbyid.operation"
      },
      "put" : {
        "tags" : [ "ResultManagement" ],
        "summary" : "The REST PUT operation for the putResultById() API call.",
        "description" : "Update the Result with current information",
        "operationId" : "putResultById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The sourcedId of the Result",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        } ],
        "requestBody" : {
          "description" : "The request body for the putResultById operation.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Result"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the putResultById() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Result"
                }
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "As defined in [[rfc9110]], indicating that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.putresultbyid.operation"
      },
      "delete" : {
        "tags" : [ "ResultManagement" ],
        "summary" : "The REST DELETE operation for the deleteResultById() API call.",
        "description" : "Delete a result with a specific id",
        "operationId" : "deleteResultById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The sourcedId of the Result",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "The 204 (NO_CONTENT) response to the deleteResultById() API call."
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "As defined in [[rfc9110]], indicating that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.deleteresultbyid.operation"
      }
    },
    "/courseOfferings/{courseOfferingId}/results" : {
      "get" : {
        "tags" : [ "ResultManagement" ],
        "summary" : "The REST GET operation for the getAllResultsForCourseOffering() API call.",
        "description" : "Read all results for a specific course offering",
        "operationId" : "getAllResultsForCourseOffering",
        "parameters" : [ {
          "name" : "courseOfferingId",
          "in" : "path",
          "description" : "The sourcedId of the course offering",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        }, {
          "$ref" : "#/components/parameters/limit"
        }, {
          "$ref" : "#/components/parameters/offset"
        }, {
          "$ref" : "#/components/parameters/sort"
        }, {
          "$ref" : "#/components/parameters/orderBy"
        }, {
          "$ref" : "#/components/parameters/filter"
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getAllResultsForCourseOffering() API call.",
            "headers" : {
              "X-Total-Count" : {
                "$ref" : "#/components/headers/X-Total-Count"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "minItems" : 1,
                  "type" : "array",
                  "description" : "Represents the score or grade for a person on a LineItem, together with the context required to interpret that result.",
                  "items" : {
                    "$ref" : "#/components/schemas/Result"
                  }
                }
              }
            },
            "links" : {
              "next" : {
                "$ref" : "#/components/links/next"
              },
              "last" : {
                "$ref" : "#/components/links/last"
              },
              "first" : {
                "$ref" : "#/components/links/first"
              },
              "prev" : {
                "$ref" : "#/components/links/prev"
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.getallresultsforcourseoffering.operation"
      }
    },
    "/componentOfferings/{componentOfferingId}/results" : {
      "get" : {
        "tags" : [ "ResultManagement" ],
        "summary" : "The REST GET operation for the getAllResultsForComponentOffering() API call.",
        "description" : "Read all results for a specific component offering",
        "operationId" : "getAllResultsForComponentOffering",
        "parameters" : [ {
          "name" : "componentOfferingId",
          "in" : "path",
          "description" : "The sourcedId of the component offering",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        }, {
          "$ref" : "#/components/parameters/limit"
        }, {
          "$ref" : "#/components/parameters/offset"
        }, {
          "$ref" : "#/components/parameters/sort"
        }, {
          "$ref" : "#/components/parameters/orderBy"
        }, {
          "$ref" : "#/components/parameters/filter"
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getAllResultsForComponentOffering() API call.",
            "headers" : {
              "X-Total-Count" : {
                "$ref" : "#/components/headers/X-Total-Count"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "minItems" : 1,
                  "type" : "array",
                  "description" : "Represents the score or grade for a person on a LineItem, together with the context required to interpret that result.",
                  "items" : {
                    "$ref" : "#/components/schemas/Result"
                  }
                }
              }
            },
            "links" : {
              "next" : {
                "$ref" : "#/components/links/next"
              },
              "last" : {
                "$ref" : "#/components/links/last"
              },
              "first" : {
                "$ref" : "#/components/links/first"
              },
              "prev" : {
                "$ref" : "#/components/links/prev"
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.getallresultsforcomponentoffering.operation"
      }
    },
    "/courseOfferings/{courseOfferingId}/lineItems/{lineItemId}/results" : {
      "get" : {
        "tags" : [ "ResultManagement" ],
        "summary" : "The REST GET operation for the getAllResultsForLineItemForCourseOffering() API call.",
        "description" : "Read all results for a specific line item for a specific course offering",
        "operationId" : "getAllResultsForLineItemForCourseOffering",
        "parameters" : [ {
          "name" : "courseOfferingId",
          "in" : "path",
          "description" : "The sourcedId of the course offering",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        }, {
          "name" : "lineItemId",
          "in" : "path",
          "description" : "The sourcedId of the line item",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        }, {
          "$ref" : "#/components/parameters/limit"
        }, {
          "$ref" : "#/components/parameters/offset"
        }, {
          "$ref" : "#/components/parameters/sort"
        }, {
          "$ref" : "#/components/parameters/orderBy"
        }, {
          "$ref" : "#/components/parameters/filter"
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getAllResultsForLineItemForCourseOffering() API call.",
            "headers" : {
              "X-Total-Count" : {
                "$ref" : "#/components/headers/X-Total-Count"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "minItems" : 1,
                  "type" : "array",
                  "description" : "Represents the score or grade for a person on a LineItem, together with the context required to interpret that result.",
                  "items" : {
                    "$ref" : "#/components/schemas/Result"
                  }
                }
              }
            },
            "links" : {
              "next" : {
                "$ref" : "#/components/links/next"
              },
              "last" : {
                "$ref" : "#/components/links/last"
              },
              "first" : {
                "$ref" : "#/components/links/first"
              },
              "prev" : {
                "$ref" : "#/components/links/prev"
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.getallresultsforlineitemforcourseoffering.operation"
      }
    },
    "/componentOfferings/{componentOfferingId}/lineItems/{lineItemId}/results" : {
      "get" : {
        "tags" : [ "ResultManagement" ],
        "summary" : "The REST GET operation for the getAllResultsForLineItemForComponentOffering() API call.",
        "description" : "Read all results for a specific line item for a specific component offering",
        "operationId" : "getAllResultsForLineItemForComponentOffering",
        "parameters" : [ {
          "name" : "componentOfferingId",
          "in" : "path",
          "description" : "The sourcedId of the component offering",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        }, {
          "name" : "lineItemId",
          "in" : "path",
          "description" : "The sourcedId of the line item",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        }, {
          "$ref" : "#/components/parameters/limit"
        }, {
          "$ref" : "#/components/parameters/offset"
        }, {
          "$ref" : "#/components/parameters/sort"
        }, {
          "$ref" : "#/components/parameters/orderBy"
        }, {
          "$ref" : "#/components/parameters/filter"
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getAllResultsForLineItemForComponentOffering() API call.",
            "headers" : {
              "X-Total-Count" : {
                "$ref" : "#/components/headers/X-Total-Count"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "minItems" : 1,
                  "type" : "array",
                  "description" : "Represents the score or grade for a person on a LineItem, together with the context required to interpret that result.",
                  "items" : {
                    "$ref" : "#/components/schemas/Result"
                  }
                }
              }
            },
            "links" : {
              "next" : {
                "$ref" : "#/components/links/next"
              },
              "last" : {
                "$ref" : "#/components/links/last"
              },
              "first" : {
                "$ref" : "#/components/links/first"
              },
              "prev" : {
                "$ref" : "#/components/links/prev"
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.getallresultsforlineitemforcomponentoffering.operation"
      }
    },
    "/lineItems/{id}/results" : {
      "post" : {
        "tags" : [ "ResultManagement" ],
        "summary" : "The REST POST operation for the postResultsForLineItem() API call.",
        "description" : "Create a set of results for an Edu-API LineItem",
        "operationId" : "postResultsForLineItem",
        "parameters" : [ {
          "name" : "lineItemId",
          "in" : "path",
          "description" : "The sourcedId of the LineItem",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        } ],
        "requestBody" : {
          "description" : "The request body for the postResultsForLineItem operation.",
          "content" : {
            "application/json" : {
              "schema" : {
                "minItems" : 1,
                "type" : "array",
                "description" : "Represents the score or grade for a person on a LineItem, together with the context required to interpret that result.",
                "items" : {
                  "$ref" : "#/components/schemas/Result"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "The response MUST include the complete Result objects with the allocated sourcedId values. It is the client's responsibility to reconcile any differences between the sourcedId values supplied in the request body and those returned by the server.",
            "headers" : {
              "X-Total-Count" : {
                "$ref" : "#/components/headers/X-Total-Count"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "minItems" : 1,
                  "type" : "array",
                  "description" : "Represents the score or grade for a person on a LineItem, together with the context required to interpret that result.",
                  "items" : {
                    "$ref" : "#/components/schemas/Result"
                  }
                }
              }
            },
            "links" : {
              "next" : {
                "$ref" : "#/components/links/next"
              },
              "last" : {
                "$ref" : "#/components/links/last"
              },
              "first" : {
                "$ref" : "#/components/links/first"
              },
              "prev" : {
                "$ref" : "#/components/links/prev"
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "As defined in [[rfc9110]], indicating that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "405" : {
            "description" : "As defined in [[rfc9110]], indicating that the server does not allow the method.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.postresultsforlineitem.operation"
      }
    },
    "/scoreScales" : {
      "get" : {
        "tags" : [ "ScoreScalesManagement" ],
        "summary" : "The REST GET operation for the getAllScoreScales() API call.",
        "description" : "Read all ScoreScales for an institution",
        "operationId" : "getAllScoreScales",
        "parameters" : [ {
          "$ref" : "#/components/parameters/limit"
        }, {
          "$ref" : "#/components/parameters/offset"
        }, {
          "$ref" : "#/components/parameters/sort"
        }, {
          "$ref" : "#/components/parameters/orderBy"
        }, {
          "$ref" : "#/components/parameters/filter"
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getAllScoreScales() API call.",
            "headers" : {
              "X-Total-Count" : {
                "$ref" : "#/components/headers/X-Total-Count"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "minItems" : 1,
                  "type" : "array",
                  "description" : "Represents the definition of a score scale mapping, e.g. the relationship between values in one score scale and values in another.",
                  "items" : {
                    "$ref" : "#/components/schemas/ScoreScale"
                  }
                }
              }
            },
            "links" : {
              "next" : {
                "$ref" : "#/components/links/next"
              },
              "last" : {
                "$ref" : "#/components/links/last"
              },
              "first" : {
                "$ref" : "#/components/links/first"
              },
              "prev" : {
                "$ref" : "#/components/links/prev"
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.getallscorescales.operation"
      },
      "post" : {
        "tags" : [ "ScoreScalesManagement" ],
        "summary" : "The REST POST operation for the postScoreScales() API call.",
        "description" : "Create a set of score scales",
        "operationId" : "postScoreScales",
        "requestBody" : {
          "description" : "The request body for the postScoreScales operation.",
          "content" : {
            "application/json" : {
              "schema" : {
                "minItems" : 1,
                "type" : "array",
                "description" : "Represents the definition of a score scale mapping, e.g. the relationship between values in one score scale and values in another.",
                "items" : {
                  "$ref" : "#/components/schemas/ScoreScale"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "The response MUST include the complete ScoreScale objects with the allocated sourcedId values. It is the client's responsibility to reconcile any differences between the sourcedId values supplied in the request body and those returned by the server.",
            "headers" : {
              "X-Total-Count" : {
                "$ref" : "#/components/headers/X-Total-Count"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "minItems" : 1,
                  "type" : "array",
                  "description" : "Represents the definition of a score scale mapping, e.g. the relationship between values in one score scale and values in another.",
                  "items" : {
                    "$ref" : "#/components/schemas/ScoreScale"
                  }
                }
              }
            },
            "links" : {
              "next" : {
                "$ref" : "#/components/links/next"
              },
              "last" : {
                "$ref" : "#/components/links/last"
              },
              "first" : {
                "$ref" : "#/components/links/first"
              },
              "prev" : {
                "$ref" : "#/components/links/prev"
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "As defined in [[rfc9110]], indicating that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "405" : {
            "description" : "As defined in [[rfc9110]], indicating that the server does not allow the method.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.postscorescales.operation"
      }
    },
    "/scoreScales/{id}" : {
      "get" : {
        "tags" : [ "ScoreScalesManagement" ],
        "summary" : "The REST GET operation for the getScoreScaleById() API call.",
        "description" : "Read a ScoreScale with a specific id",
        "operationId" : "getScoreScaleById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The sourcedId of the ScoreScale",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getScoreScaleById() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScoreScale"
                }
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "As defined in [[rfc9110]], indicating that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.getscorescalebyid.operation"
      },
      "put" : {
        "tags" : [ "ScoreScalesManagement" ],
        "summary" : "The REST PUT operation for the putScoreScaleById() API call.",
        "description" : "Update the ScoreScale with current information",
        "operationId" : "putScoreScaleById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The sourcedId of the ScoreScale",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        } ],
        "requestBody" : {
          "description" : "The request body for the putScoreScaleById operation.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ScoreScale"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the putScoreScaleById() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScoreScale"
                }
              }
            }
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "As defined in [[rfc9110]], indicating that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.putscorescalebyid.operation"
      },
      "delete" : {
        "tags" : [ "ScoreScalesManagement" ],
        "summary" : "The REST DELETE operation for the deleteScoreScaleById() API call.",
        "description" : "Delete a score scale with a specific id",
        "operationId" : "deleteScoreScaleById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The sourcedId of the ScoreScale",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). There is no predefined structure for the GUID."
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "The 204 (NO_CONTENT) response to the deleteScoreScaleById() API call."
          },
          "400" : {
            "description" : "As defined in [[rfc9110]], indicating that the server cannot or will not process the request due to something that is perceived to be a client error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "As defined in [[rfc9110]], indicating that the request has not been applied because it lacks valid authentication credentials for the target resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "As defined in [[rfc9110]], indicating that the server understood the request but refuses to fulfill it. The exact reason SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "As defined in [[rfc9110]], indicating that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "422" : {
            "description" : "As defined in [[rfc9110]], used when the server cannot validate an incoming entity.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "As defined in [[rfc6585]], indicating that the user has sent too many requests in a given amount of time ('rate limiting').",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "As defined in [[rfc9110]]. Implementations SHOULD avoid using this error code - use only if there is catastrophic error and there is not a more appropriate code.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The request was invalid or cannot be served. The exact error SHOULD be explained in the response payload.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.eduapigradebook.v1p0.rest.deletescorescalebyid.operation"
      }
    }
  },
  "components" : {
    "schemas" : {
      "learningObjectiveScoreSetExtensions" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "Extension properties related to learning objective score sets",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.learningobjectivescoresetextensions.class"
      },
      "Imsx_StatusInfo" : {
        "required" : [ "imsx_codeMajor", "imsx_severity" ],
        "type" : "object",
        "properties" : {
          "imsx_codeMinor" : {
            "$ref" : "#/components/schemas/Imsx_CodeMinor"
          },
          "imsx_codeMajor" : {
            "type" : "string",
            "description" : "The code major value (from the corresponding enumerated vocabulary).",
            "enum" : [ "failure", "processing", "success", "unsupported" ],
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.imsx_codemajor.class"
          },
          "imsx_description" : {
            "type" : "string",
            "description" : "A human readable description supplied by the entity creating the status code information.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.string.class"
          },
          "imsx_severity" : {
            "type" : "string",
            "description" : "The severity value (from the corresponding enumerated vocabulary).",
            "enum" : [ "error", "status", "warning" ],
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.imsx_severity.class"
          }
        },
        "additionalProperties" : false,
        "description" : "This is the container for the status code and associated information returned within the HTTP messages received from the Service Provider.",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.imsx_statusinfo.class"
      },
      "Category" : {
        "required" : [ "sourcedId", "recordLanguage", "recordStatus", "title" ],
        "type" : "object",
        "properties" : {
          "sourcedId" : {
            "type" : "string",
            "description" : "The sourcedId of the object. This is the interoperability identifier that systems will refer to when making API calls, or when needing to identify an object. Systems SHOULD be able to map whichever local ids (e.g. database key fields) they use to sourcedId. The sourcedId of an object MUST be an anonymized or pseudonymized identifier of an entity and as such will not contain Personally Identifiable Information (PII) or Personal Data (PD).",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.guid.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/categoryExtensions"
          },
          "recordStatus" : {
            "type" : "string",
            "description" : "The status of this record. The record has been, or will immediately be, removed from the upstream system; downstream systems can also remove this record as it won't be used again.",
            "enum" : [ "active", "deleted", "inactive" ],
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.recordstatustypeenum.class"
          },
          "dateLastModified" : {
            "type" : "string",
            "description" : "A timestamp describing when this record was last modified.",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.datetimez.class"
          },
          "recordLanguage" : {
            "pattern" : "^[a-z]{2,4}(-[A-Z][a-z]{3})?(-([A-Z]{2}|[0-9]{3}))?$",
            "type" : "string",
            "description" : "The primary language used in the described entity.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.languagecode.class"
          },
          "weight" : {
            "type" : "number",
            "description" : "Total weight of this grading category in calculation of the course final score.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.float.class"
          },
          "title" : {
            "minItems" : 1,
            "type" : "array",
            "description" : "The human readable title for the category.",
            "items" : {
              "$ref" : "#/components/schemas/LanguageTypedString"
            },
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.languagetypedstring.class"
          }
        },
        "additionalProperties" : false,
        "description" : "A category is a grouping of line items used to organize grading and, where applicable, support weighting in grade calculations.",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.category.class"
      },
      "resultExtensions" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "Extension properties related to results",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.resultextensions.class"
      },
      "LineItem" : {
        "required" : [ "sourcedId", "recordLanguage", "recordStatus", "title", "lineItemType", "organization" ],
        "type" : "object",
        "properties" : {
          "sourcedId" : {
            "type" : "string",
            "description" : "The sourcedId of the object. This is the interoperability identifier that systems will refer to when making API calls, or when needing to identify an object. Systems SHOULD be able to map whichever local ids (e.g. database key fields) they use to sourcedId. The sourcedId of an object MUST be an anonymized or pseudonymized identifier of an entity and as such will not contain Personally Identifiable Information (PII) or Personal Data (PD).",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.guid.class"
          },
          "education" : {
            "type" : "string",
            "description" : "A reference to an Edu-API education. This may be an offering or a template. Please refer to the educationType attribute to determine the type. Required when lineItemType is not 'assessment'; otherwise omitted.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.educationguidref.class"
          },
          "resultValueMax" : {
            "type" : "number",
            "description" : "The maximum value (numeric) that can be assigned to the score attribute in a result. The score scale mapping should be used to map to other scores.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.float.class"
          },
          "learningObjectiveSet" : {
            "minItems" : 0,
            "type" : "array",
            "description" : "The set of identifiers for the learning objectives to which this assessment is aligned. Any number groups of learning objectives can be assigned.",
            "items" : {
              "$ref" : "#/components/schemas/LearningObjectiveSet"
            },
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.learningobjectiveset.class"
          },
          "assignDate" : {
            "type" : "string",
            "description" : "The date/time the activity addressed by the LineItem was assigned to the student. Required when lineItemType is not 'assessment'; otherwise omitted. This uses the dateTime format defined in [ISO 8601].",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.datetime.class"
          },
          "educationType" : {
            "description" : "Identifies the type of education entity referenced, allowing the consumer to determine the appropriate endpoint for retrieving the associated education details. Required when lineItemType is not 'assessment'; otherwise omitted.",
            "anyOf" : [ {
              "type" : "string",
              "enum" : [ "collection", "course", "component", "collectionOffering", "courseOffering", "componentOffering" ]
            }, {
              "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+",
              "type" : "string"
            } ],
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.educationtypeenum.class"
          },
          "recordLanguage" : {
            "pattern" : "^[a-z]{2,4}(-[A-Z][a-z]{3})?(-([A-Z]{2}|[0-9]{3}))?$",
            "type" : "string",
            "description" : "The primary language used in the described entity.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.languagecode.class"
          },
          "dueDate" : {
            "type" : "string",
            "description" : "The date/time by which the assignment must be completed and submitted. Required when lineItemType is not 'assessment'; otherwise omitted. This uses the dateTime format defined in [ISO 8601].",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.datetime.class"
          },
          "description" : {
            "$ref" : "#/components/schemas/LanguageTypedString"
          },
          "title" : {
            "minItems" : 1,
            "type" : "array",
            "description" : "The human-readable title for the LineItem. This should allow the LineItem to be distinguished from peer LineItems.",
            "items" : {
              "$ref" : "#/components/schemas/LanguageTypedString"
            },
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.languagetypedstring.class"
          },
          "resultValueMin" : {
            "type" : "number",
            "description" : "The minimum value (numeric) that can be assigned to the score attribute in a result. The score scale mapping should be used to map to other scores.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.float.class"
          },
          "academicSession" : {
            "type" : "string",
            "description" : "The GUID of the academic session for the lineItem. This should NOT be defined if the 'gradingPeriod' attribute has been used.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.academicsessionguidref.class"
          },
          "scoreScale" : {
            "type" : "string",
            "description" : "The GUID of the score scale to be used for the lineItem.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.scorescaleguidref.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/lineItemExtensions"
          },
          "parentLineItem" : {
            "type" : "string",
            "description" : "A reference to another Edu-API LineItem. This allows for the building of assessment hierarchies. This property is only available when lineItemType is 'assessment'.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.lineitemguidref.class"
          },
          "recordStatus" : {
            "type" : "string",
            "description" : "The status of this record. The record has been, or will immediately be, removed from the upstream system; downstream systems can also remove this record as it won't be used again.",
            "enum" : [ "active", "deleted", "inactive" ],
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.recordstatustypeenum.class"
          },
          "dateLastModified" : {
            "type" : "string",
            "description" : "A timestamp describing when this record was last modified.",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.datetimez.class"
          },
          "lineItemType" : {
            "description" : "This is used to differentiate between items used for recording assignment-level grades versus summary-level grades such as midterm and final.",
            "anyOf" : [ {
              "type" : "string",
              "enum" : [ "activity", "midterm", "final", "current", "assessment" ]
            }, {
              "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+",
              "type" : "string"
            } ],
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.lineitemtypeenum.class"
          },
          "organization" : {
            "type" : "string",
            "description" : "The GUID of the organization for whom the lineItem has been assigned.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.organizationguidref.class"
          },
          "category" : {
            "type" : "string",
            "description" : "The GUID of the Category to which the LineItem is assigned. This property is used for category-based organization and weighting. It SHOULD be provided when the lineItemType is 'activity'. This property is OPTIONAL when the lineItemType is 'assessment'.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.categoryguidref.class"
          },
          "gradingPeriod" : {
            "type" : "string",
            "description" : "The GUID of the grading period for the lineItem.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.academicsessionguidref.class"
          }
        },
        "additionalProperties" : false,
        "description" : "A line item defines what a reported score or grade is for. It may reference a specific graded activity or represent a summary grade such as a midterm or final. It does not define the activity itself, but serves as the mechanism for associating results to it.",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.lineitem.class"
      },
      "LearningObjectiveScoreSet" : {
        "required" : [ "sourcedId", "recordLanguage", "recordStatus", "source", "learningObjectiveResults" ],
        "type" : "object",
        "properties" : {
          "sourcedId" : {
            "type" : "string",
            "description" : "The sourcedId of the object. This is the interoperability identifier that systems will refer to when making API calls, or when needing to identify an object. Systems SHOULD be able to map whichever local ids (e.g. database key fields) they use to sourcedId. The sourcedId of an object MUST be an anonymized or pseudonymized identifier of an entity and as such will not contain Personally Identifiable Information (PII) or Personal Data (PD).",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.guid.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/learningObjectiveScoreSetExtensions"
          },
          "recordStatus" : {
            "type" : "string",
            "description" : "The status of this record. The record has been, or will immediately be, removed from the upstream system; downstream systems can also remove this record as it won't be used again.",
            "enum" : [ "active", "deleted", "inactive" ],
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.recordstatustypeenum.class"
          },
          "dateLastModified" : {
            "type" : "string",
            "description" : "A timestamp describing when this record was last modified.",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.datetimez.class"
          },
          "learningObjectiveResults" : {
            "minItems" : 1,
            "type" : "array",
            "description" : "The set of learning objective results associated with this source. If the identifiers are CASE identifiers they MUST be valid UUIDs.",
            "items" : {
              "$ref" : "#/components/schemas/LearningObjectiveResults"
            },
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.learningobjectiveresults.class"
          },
          "recordLanguage" : {
            "pattern" : "^[a-z]{2,4}(-[A-Z][a-z]{3})?(-([A-Z]{2}|[0-9]{3}))?$",
            "type" : "string",
            "description" : "The primary language used in the described entity.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.languagecode.class"
          },
          "source" : {
            "description" : "The source responsible for creating the learning objective identifiers. The permitted values are from an extensible vocabulary.",
            "anyOf" : [ {
              "type" : "string",
              "enum" : [ "case", "unknown", "CTDL-ASN" ]
            }, {
              "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+",
              "type" : "string"
            } ],
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.sourceextenum.class"
          }
        },
        "additionalProperties" : false,
        "description" : "Represents the set of mastery scores for learning objectives, from a single source.",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.learningobjectivescoreset.class"
      },
      "LearningObjectiveSet" : {
        "required" : [ "sourcedId", "recordLanguage", "recordStatus", "source", "learningObjectiveIds" ],
        "type" : "object",
        "properties" : {
          "sourcedId" : {
            "type" : "string",
            "description" : "The sourcedId of the object. This is the interoperability identifier that systems will refer to when making API calls, or when needing to identify an object. Systems SHOULD be able to map whichever local ids (e.g. database key fields) they use to sourcedId. The sourcedId of an object MUST be an anonymized or pseudonymized identifier of an entity and as such will not contain Personally Identifiable Information (PII) or Personal Data (PD).",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.guid.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/learningObjectiveSetExtensions"
          },
          "recordStatus" : {
            "type" : "string",
            "description" : "The status of this record. The record has been, or will immediately be, removed from the upstream system; downstream systems can also remove this record as it won't be used again.",
            "enum" : [ "active", "deleted", "inactive" ],
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.recordstatustypeenum.class"
          },
          "dateLastModified" : {
            "type" : "string",
            "description" : "A timestamp describing when this record was last modified.",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.datetimez.class"
          },
          "recordLanguage" : {
            "pattern" : "^[a-z]{2,4}(-[A-Z][a-z]{3})?(-([A-Z]{2}|[0-9]{3}))?$",
            "type" : "string",
            "description" : "The primary language used in the described entity.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.languagecode.class"
          },
          "source" : {
            "description" : "The source responsible for creating the learning objective identifiers. The permitted values are from an extensible vocabulary.",
            "anyOf" : [ {
              "type" : "string",
              "enum" : [ "case", "unknown", "CTDL-ASN" ]
            }, {
              "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+",
              "type" : "string"
            } ],
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.sourceextenum.class"
          },
          "learningObjectiveIds" : {
            "minItems" : 1,
            "type" : "array",
            "description" : "The set of unique identifiers for the associated learning objectives. If these are CASE identifiers they MUST be valid UUIDs.",
            "items" : {
              "type" : "string",
              "description" : "A `String` conforming to the `normalizedString` definition in [[XMLSCHEMA11-2]]."
            },
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.normalizedstring.class"
          }
        },
        "additionalProperties" : false,
        "description" : "This is the container for the set of learning objective identifiers that are from a single source responsible for creating those identifiers.",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.learningobjectiveset.class"
      },
      "Result" : {
        "required" : [ "sourcedId", "recordLanguage", "recordStatus", "lineItem", "person", "scoreStatus", "scoreDate" ],
        "type" : "object",
        "properties" : {
          "sourcedId" : {
            "type" : "string",
            "description" : "The sourcedId of the object. This is the interoperability identifier that systems will refer to when making API calls, or when needing to identify an object. Systems SHOULD be able to map whichever local ids (e.g. database key fields) they use to sourcedId. The sourcedId of an object MUST be an anonymized or pseudonymized identifier of an entity and as such will not contain Personally Identifiable Information (PII) or Personal Data (PD).",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.guid.class"
          },
          "education" : {
            "type" : "string",
            "description" : "A reference to an Edu-API education. This may be an offering or a template. Please refer to the educationType attribute to determine the type.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.educationguidref.class"
          },
          "learningObjectiveSet" : {
            "minItems" : 0,
            "type" : "array",
            "description" : "The learning objective set associated with this result. Provides objective-level score detail for this Result.",
            "items" : {
              "$ref" : "#/components/schemas/LearningObjectiveScoreSet"
            },
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.learningobjectivescoreset.class"
          },
          "inProgress" : {
            "type" : "boolean",
            "description" : "This is used to indicate that the associated work activity has been assigned and student's work product is not yet expected to have been submitted.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.boolean.class"
          },
          "educationType" : {
            "description" : "Identifies the type of education entity referenced, allowing the consumer to determine the appropriate endpoint for retrieving the associated education details.",
            "anyOf" : [ {
              "type" : "string",
              "enum" : [ "collection", "course", "component", "collectionOffering", "courseOffering", "componentOffering" ]
            }, {
              "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+",
              "type" : "string"
            } ],
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.educationtypeenum.class"
          },
          "recordLanguage" : {
            "pattern" : "^[a-z]{2,4}(-[A-Z][a-z]{3})?(-([A-Z]{2}|[0-9]{3}))?$",
            "type" : "string",
            "description" : "The primary language used in the described entity.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.languagecode.class"
          },
          "scoreScale" : {
            "type" : "string",
            "description" : "The GUID of the ScoreScale against which the result is aligned.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.scorescaleguidref.class"
          },
          "score" : {
            "type" : "number",
            "description" : "The score for the result. If a scoreScale is assigned then the value must align with the scale.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.float.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/resultExtensions"
          },
          "textScore" : {
            "type" : "string",
            "description" : "An optional non-numeric score value. If a scoreScale is assigned then the value must align with the scale.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.normalizedstring.class"
          },
          "incomplete" : {
            "type" : "boolean",
            "description" : "This is used to indicate that the student's work product has been submitted but it is deemed incomplete by the teacher.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.boolean.class"
          },
          "recordStatus" : {
            "type" : "string",
            "description" : "The status of this record. The record has been, or will immediately be, removed from the upstream system; downstream systems can also remove this record as it won't be used again.",
            "enum" : [ "active", "deleted", "inactive" ],
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.recordstatustypeenum.class"
          },
          "dateLastModified" : {
            "type" : "string",
            "description" : "A timestamp describing when this record was last modified.",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.datetimez.class"
          },
          "lineItem" : {
            "type" : "string",
            "description" : "The GUID of the LineItem to which the result is aligned.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.lineitemguidref.class"
          },
          "late" : {
            "type" : "boolean",
            "description" : "This is used to indicate that the student's work product is either past due or it has been submitted past the due date. The score on this result may be impacted as a result of this flag.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.boolean.class"
          },
          "person" : {
            "type" : "string",
            "description" : "The GUID of the person for whom the result is assigned, this will typically be a link to a person with a role of student.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.personguidref.class"
          },
          "missing" : {
            "type" : "boolean",
            "description" : "This is used to indicate that the student's work product has not been submitted.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.boolean.class"
          },
          "scoreStatus" : {
            "description" : "The status of the score. The value is from an extensible enumerated vocabulary.",
            "anyOf" : [ {
              "type" : "string",
              "enum" : [ "exempt", "fullyGraded", "notSubmitted", "partiallyGraded", "submitted", "withdrawal", "locked", "underReview" ]
            }, {
              "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+",
              "type" : "string"
            } ],
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.scorestatusenum.class"
          },
          "comment" : {
            "$ref" : "#/components/schemas/LanguageTypedString"
          },
          "parentResult" : {
            "type" : "string",
            "description" : "An Edu-API reference to another Result. This allows for the building of result hierarchies.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.resultguidref.class"
          },
          "scoreDate" : {
            "type" : "string",
            "description" : "The date at which the score is assigned or there is an update to the result e.g. change in the 'scoreStatus'. The format is YYYY-MM-DD as defined in [ISO 8601].",
            "format" : "date",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.date.class"
          }
        },
        "additionalProperties" : false,
        "description" : "Represents the score or grade for a person on a LineItem, together with the context required to interpret that result.",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.result.class"
      },
      "scoreScaleExtensions" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "Extension properties related to score scales",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.scorescaleextensions.class"
      },
      "ScoreScale" : {
        "required" : [ "sourcedId", "recordLanguage", "recordStatus", "title", "type", "scoreScaleValue" ],
        "type" : "object",
        "properties" : {
          "sourcedId" : {
            "type" : "string",
            "description" : "The sourcedId of the object. This is the interoperability identifier that systems will refer to when making API calls, or when needing to identify an object. Systems SHOULD be able to map whichever local ids (e.g. database key fields) they use to sourcedId. The sourcedId of an object MUST be an anonymized or pseudonymized identifier of an entity and as such will not contain Personally Identifiable Information (PII) or Personal Data (PD).",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.guid.class"
          },
          "scoreScaleValue" : {
            "minItems" : 1,
            "type" : "array",
            "description" : "The set of mappings for this score scale.",
            "items" : {
              "$ref" : "#/components/schemas/ScoreScaleValue"
            },
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.scorescalevalue.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/scoreScaleExtensions"
          },
          "recordStatus" : {
            "type" : "string",
            "description" : "The status of this record. The record has been, or will immediately be, removed from the upstream system; downstream systems can also remove this record as it won't be used again.",
            "enum" : [ "active", "deleted", "inactive" ],
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.recordstatustypeenum.class"
          },
          "dateLastModified" : {
            "type" : "string",
            "description" : "A timestamp describing when this record was last modified.",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.datetimez.class"
          },
          "recordLanguage" : {
            "pattern" : "^[a-z]{2,4}(-[A-Z][a-z]{3})?(-([A-Z]{2}|[0-9]{3}))?$",
            "type" : "string",
            "description" : "The primary language used in the described entity.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.languagecode.class"
          },
          "title" : {
            "minItems" : 1,
            "type" : "array",
            "description" : "The human readable title for the score scale mapping.",
            "items" : {
              "$ref" : "#/components/schemas/LanguageTypedString"
            },
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.languagetypedstring.class"
          },
          "type" : {
            "type" : "string",
            "description" : "The type of score scale mapping. At present there is no predefined vocabulary. This should be used by an organization to differentiate between the score scales that it produces.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.normalizedstring.class"
          }
        },
        "additionalProperties" : false,
        "description" : "Represents the definition of a score scale mapping, e.g. the relationship between values in one score scale and values in another.",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.scorescale.class"
      },
      "ScoreScaleValue" : {
        "required" : [ "itemValueLHS", "itemValueRHS" ],
        "type" : "object",
        "properties" : {
          "itemValueRHS" : {
            "type" : "string",
            "description" : "The right hand side value of the mapping relationship i.e. the equivalent value to the reference point defined in the LHS.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.normalizedstring.class"
          },
          "itemValueLHS" : {
            "type" : "string",
            "description" : "The left hand side value of the mapping relationship. The format is either a single value ('x') or a range ('x' - 'y'). In the case of a single value this is considered to be the inclusive lower value for the implied range. When a range is specified (lower-to-upper) the values are inclusive.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.normalizedstring.class"
          }
        },
        "additionalProperties" : false,
        "description" : "A specific mapping of values between two score scales. The left hand side (LHS) value is the reference point. Examples of this mapping are: '7' maps to 'A', '7'-'10' maps to 'A', etc.",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.scorescalevalue.class"
      },
      "Imsx_CodeMinorField" : {
        "required" : [ "imsx_codeMinorFieldName", "imsx_codeMinorFieldValue" ],
        "type" : "object",
        "properties" : {
          "imsx_codeMinorFieldName" : {
            "type" : "string",
            "description" : "This should contain the identity of the system that has produced the code minor status code report.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.normalizedstring.class"
          },
          "imsx_codeMinorFieldValue" : {
            "type" : "string",
            "description" : "The code minor status code (this is a value from the corresponding enumerated vocabulary).",
            "enum" : [ "forbidden", "fullsuccess", "internal_server_error", "invalid_data", "invalid_query_parameter", "misdirected_request", "not_acceptable", "not_allowed", "not_found", "not_modified", "server_busy", "unauthorizedrequest", "unknown" ],
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.imsx_codeminorfieldvalue.class"
          }
        },
        "additionalProperties" : false,
        "description" : "This is the container for a single code minor status code.",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.imsx_codeminorfield.class"
      },
      "learningObjectiveResultsExtensions" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "Extension properties related to learning objective results",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.learningobjectiveresultsextensions.class"
      },
      "learningObjectiveSetExtensions" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "Extension properties related Learning Objective Sets",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.learningobjectivesetextensions.class"
      },
      "LanguageTypedString" : {
        "required" : [ "recordLanguage", "value" ],
        "type" : "object",
        "properties" : {
          "recordLanguage" : {
            "pattern" : "^[a-z]{2,4}(-[A-Z][a-z]{3})?(-([A-Z]{2}|[0-9]{3}))?$",
            "type" : "string",
            "description" : "The primary language used in the described entity.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.languagecode.class"
          },
          "value" : {
            "type" : "string",
            "description" : "The string value.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.string.class"
          }
        },
        "additionalProperties" : false,
        "description" : "A String with an associated language code.",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.languagetypedstring.class"
      },
      "lineItemExtensions" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "Extension properties related to line items",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.lineitemextensions.class"
      },
      "categoryExtensions" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "Extension properties related to categories",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.categoryextensions.class"
      },
      "LearningObjectiveResults" : {
        "required" : [ "sourcedId", "recordLanguage", "recordStatus", "learningObjectiveId" ],
        "type" : "object",
        "properties" : {
          "sourcedId" : {
            "type" : "string",
            "description" : "The sourcedId of the object. This is the interoperability identifier that systems will refer to when making API calls, or when needing to identify an object. Systems SHOULD be able to map whichever local ids (e.g. database key fields) they use to sourcedId. The sourcedId of an object MUST be an anonymized or pseudonymized identifier of an entity and as such will not contain Personally Identifiable Information (PII) or Personal Data (PD).",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.guid.class"
          },
          "score" : {
            "type" : "number",
            "description" : "The optional mastery score supplied as a numeric value.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.float.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/learningObjectiveResultsExtensions"
          },
          "textScore" : {
            "type" : "string",
            "description" : "The optional mastery score supplied in a non-numeric form.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.normalizedstring.class"
          },
          "recordStatus" : {
            "type" : "string",
            "description" : "The status of this record. The record has been, or will immediately be, removed from the upstream system; downstream systems can also remove this record as it won't be used again.",
            "enum" : [ "active", "deleted", "inactive" ],
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.recordstatustypeenum.class"
          },
          "dateLastModified" : {
            "type" : "string",
            "description" : "A timestamp describing when this record was last modified.",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.datetimez.class"
          },
          "recordLanguage" : {
            "pattern" : "^[a-z]{2,4}(-[A-Z][a-z]{3})?(-([A-Z]{2}|[0-9]{3}))?$",
            "type" : "string",
            "description" : "The primary language used in the described entity.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.derived.languagecode.class"
          },
          "learningObjectiveId" : {
            "type" : "string",
            "description" : "The unique identifier for the associated learning objective. If this is a CASE identifier it MUST be a valid UUID.",
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.primitive.normalizedstring.class"
          }
        },
        "additionalProperties" : false,
        "description" : "Represents the mastery score for a learning objective.",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.learningobjectiveresults.class"
      },
      "Imsx_CodeMinor" : {
        "required" : [ "imsx_codeMinorField" ],
        "type" : "object",
        "properties" : {
          "imsx_codeMinorField" : {
            "minItems" : 1,
            "type" : "array",
            "description" : "Each reported code minor status code.",
            "items" : {
              "$ref" : "#/components/schemas/Imsx_CodeMinorField"
            },
            "x-srcprop-pid" : "org.1edtech.eduapigradebook.v1p0.imsx_codeminorfield.class"
          }
        },
        "additionalProperties" : false,
        "description" : "This is the container for the set of code minor status codes reported in the responses from the Service Provider.",
        "x-class-pid" : "org.1edtech.eduapigradebook.v1p0.imsx_codeminor.class"
      }
    },
    "parameters" : {
      "filter" : {
        "name" : "filter",
        "in" : "query",
        "description" : "Specifies that the returned collection should be filtered using the supplied criteria.",
        "required" : false,
        "allowEmptyValue" : false,
        "style" : "form",
        "schema" : {
          "type" : "string",
          "description" : "Character strings."
        }
      },
      "offset" : {
        "name" : "offset",
        "in" : "query",
        "description" : "Specifices the number of the first record to be supplied in the segmented response message. Default: 0.",
        "required" : false,
        "allowEmptyValue" : false,
        "style" : "form",
        "schema" : {
          "minimum" : 0,
          "type" : "integer",
          "format" : "int32"
        }
      },
      "limit" : {
        "name" : "limit",
        "in" : "query",
        "description" : "Specifices the download segmentation value i.e. the maximum number of records to be contained in the response. Default: 100.",
        "required" : false,
        "allowEmptyValue" : false,
        "style" : "form",
        "schema" : {
          "minimum" : 1,
          "type" : "integer",
          "format" : "int32"
        }
      },
      "orderBy" : {
        "name" : "orderBy",
        "in" : "query",
        "description" : "Specifies whether the collection should be ordered ascending (asc) or descending (desc).",
        "required" : false,
        "allowEmptyValue" : false,
        "style" : "form",
        "schema" : {
          "type" : "string",
          "description" : "Character strings."
        }
      },
      "sort" : {
        "name" : "sort",
        "in" : "query",
        "description" : "Specifies that the collection should be sorted on the given data field value. The form of ordering is implementation dependent if the 'orderBy' attribute is not used.",
        "required" : false,
        "allowEmptyValue" : false,
        "style" : "form",
        "schema" : {
          "type" : "string",
          "description" : "Character strings."
        }
      }
    },
    "headers" : {
      "X-Total-Count" : {
        "description" : "The total number of resources that are available to be returned",
        "schema" : {
          "type" : "integer",
          "format" : "int32"
        }
      }
    },
    "securitySchemes" : {
      "GBSecurity" : {
        "type" : "oauth2",
        "flows" : {
          "clientCredentials" : {
            "tokenUrl" : "https://www.example.com/eduapi/ccg/token/",
            "scopes" : {
              "http://purl.1edtech.org/spec/eduapi/gradebook/v1p0/scope/gradebook.readonly" : "Default read-only scope. Enables access to all GET operations in the Gradebook service.",
              "http://purl.1edtech.org/spec/eduapi/gradebook/v1p0/scope/gradebook.readwrite" : "Enables read and write access to all Gradebook service operations, including GET, POST, PUT, and DELETE.",
              "http://purl.1edtech.org/spec/eduapi/gradebook/v1p0/scope/categories.readwrite" : "Enables read and write access to Category operations.",
              "http://purl.1edtech.org/spec/eduapi/gradebook/v1p0/scope/lineitems.readwrite" : "Enables read and write access to LineItem operations.",
              "http://purl.1edtech.org/spec/eduapi/gradebook/v1p0/scope/results.readwrite" : "Enables read and write access to Result operations.",
              "http://purl.1edtech.org/spec/eduapi/gradebook/v1p0/scope/scorescales.readwrite" : "Enables read and write access to ScoreScale operations."
            }
          }
        }
      },
      "CCGSecurity" : {
        "type" : "oauth2",
        "flows" : {
          "clientCredentials" : {
            "tokenUrl" : "https://www.example.com/eduapi/ccg/token/",
            "scopes" : {
              "http://purl.1edtech.org/spec/eduapi/v1p0/scope/core.readonly" : "Default read-only scope. Enables access to all GET operations except those in PersonManagement",
              "http://purl.1edtech.org/spec/eduapi/v1p0/scope/core.readonly.privacy" : "Enables access to all GET operations in PersonManagement"
            }
          }
        }
      }
    },
    "links" : {
      "next" : {
        "operationId" : "getAllCategories",
        "parameters" : {
          "limit" : "$request.query.limit",
          "offset" : "$request.query.offset"
        },
        "description" : "Get the next set of resources i.e. from offset to offset+limit"
      },
      "last" : {
        "operationId" : "getAllCategories",
        "parameters" : {
          "limit" : "$request.query.limit",
          "offset" : "$request.query.offset"
        },
        "description" : "Get the last set of resources i.e. from offset to end"
      },
      "prev" : {
        "operationId" : "getAllCategories",
        "parameters" : {
          "limit" : "$request.query.limit",
          "offset" : "$request.query.offset"
        },
        "description" : "Get the previous set of resources i.e. from last_offset to last_offset+limit"
      },
      "first" : {
        "operationId" : "getAllCategories",
        "parameters" : {
          "limit" : "$request.query.limit",
          "offset" : "$request.query.offset"
        },
        "description" : "Get the first set of resources i.e. from first to limit"
      }
    }
  }
}