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
