Ed-Fi RFC 4 - Open API Spec

This page contains the full Open API spec listing for the proposed Ed-Fi RFC 4 - Enrollment API.

Change History

 

{
  "swagger": "2.0",
  "info": {
    "version": "2.0",
    "title": "Ed-Fi Enrollment API"
  },
  "tags": [
    { "name": "schools",
      "description": "This entity represents an educational organization that includes staff and students who participate in classes and educational activity groups."
    },
    { "name": "sections",
      "description": "This entity represents a setting in which organized instruction of course content is provided, in-person or otherwise, to one or more students for a given period of time. A course offering may be offered to more than one section."
    },
    { "name": "sectionEnrollments",
      "description": "This entity represents enrollments by providing detailed information about related sections, students, and staff."
    },
    { "name": "staffs",
      "description": "This entity represents an individual who performs specified activities for any public or private education institution or agency that provides instructional and/or support services to students or staff at the early childhood level through high school completion. For example, this includes: 1. An \"employee\" who performs services under the direction of the employing institution or agency is compensated for such services by the employer and is eligible for employee benefits and wage or salary tax withholdings 2. A \"contractor\" or \"consultant\" who performs services for an agreed upon fee or an employee of a management service contracted to work on site 3. A \"volunteer\" who performs services on a voluntary and uncompensated basis 4. An in-kind service provider 5. An independent contractor or businessperson working at a school site."
    },
    { "name": "students",
      "description": "This entity represents an individual for whom instruction, services, and/or care are provided in an early childhood, elementary, or secondary educational program under the jurisdiction of a school, education agency or other institution or program. A student is a person who has been enrolled in a school or other educational institution."
    }
  ],
  "basePath": "/v2.0/enrollment",
  "schemes": [
    "http",
    "https"
  ],
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "paths": {
    "/students": {
      "get": {
        "tags": [
          "students"
        ],
      "description": "Retrieves all students",
      "operationId": "getAllStudents_",
      "produces": [
        "application/json"
      ],
      "parameters": [
        {
          "name": "fields",
          "in": "query",
          "type": "string",
          "required": false,
          "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
        }
      ],
      "responses": {
        "200": {
          "description": "",
          "schema": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/student"
              }
            }
          }
        }
      }
    },
    "/students/{id}": {
      "get": {
        "tags": [
          "students"
        ],
        "description": "Retrieves a specific resource using the resource's identifier.",
        "operationId": "getStudentsById_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "type": "string",
            "required": true          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/student"
              }
            }
          }
        }
      }
    },
    "/localEducationAgencies/{localEducationAgency_id}/students": {
      "get": {
        "tags": [
          "students"
        ],
        "description": "Retrieves resources using the associated LocalEducationAgency resource's identifier.",
        "operationId": "getStudentsByLocalEducationAgency_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "localEducationAgency_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/student"
              }
            }
          }
        }
      }
    },
    "/schools/{school_id}/students": {
      "get": {
        "tags": [
          "students"
        ],
        "description": "Retrieves resources using the associated School resource's identifier.",
        "operationId": "getStudentsBySchool_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "school_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/student"
              }
            }
          }
        }
      }
    },
    "/sections/{section_id}/students": {
      "get": {
        "tags": [
          "students"
        ],
        "description": "Retrieves resources using the associated Section resource's identifier.",
        "operationId": "getStudentsBySection_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "section_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/student"
              }
            }
          }
        }
      }
    },
    "/staffs/{staff_id}/students": {
      "get": {
        "tags": [
          "students"
        ],
        "description": "Retrieves resources using the associated Staff resource's identifier.",
        "operationId": "getStudentsByStaff_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "staff_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/student"
              }
            }
          }
        }
      }
    },

   "/staffs": {
      "get": {
        "tags": [
          "staffs"
        ],
        "description": "Retrieves all staff",
        "operationId": "getAllStaffs_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/staff"
              }
            }
          }
        }
      }
    },
    "/staffs/{id}": {
      "get": {
        "tags": [
          "staffs"
        ],
        "description": "Retrieves a specific resource using the resource's identifier.",
        "operationId": "getStaffsById_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/staff"
              }
            }
          }
        }
      }
    },
    "/localEducationAgencies/{localEducationAgency_id}/staffs": {
      "get": {
        "tags": [
          "staffs"
        ],
        "description": "Retrieves resources using the associated LocalEducationAgency resource's identifier (using the \"Get By Example\" pattern).",
        "operationId": "getStaffsByLocalEducationAgency_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "localEducationAgency_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/staff"
              }
            }
          }
        }
      }
    },
    "/schools/{school_id}/staffs": {
      "get": {
        "tags": [
          "staffs"
        ],
        "description": "Retrieves resources using the associated School resource's identifier.",
        "operationId": "getStaffsBySchool_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "school_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/staff"
              }
            }
          }
        }
      }
    },
    "/sections/{section_id}/staffs": {
      "get": {
        "tags": [
          "staffs"
        ],
        "description": "Retrieves resources using the associated Section resource's identifier.",
        "operationId": "getStaffsBySection_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "section_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/staff"
              }
            }
          }
        }
      }
    },
    "/students/{student_id}/staffs": {
      "get": {
        "tags": [
          "staffs"
        ],
        "description": "Retrieves resources using the associated Student resource's identifier.",
        "operationId": "getStaffsByStudent_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "student_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/staff"
              }
            }
          }
        }
      }
    },


    "/sections": {
      "get": {
        "tags": [
          "sections"
        ],
        "description": "Retrieves all sections.",
        "operationId": "getAllSections_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/section"
              }
            }
          }
        }
      }
    },
    "/sections/{id}": {
      "get": {
        "tags": [
          "sections"
        ],
        "description": "Retrieves a specific resource using the resource's identifier.",
        "operationId": "getSectionsById_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/section"
              }
            }
          }
        }
      }
    },
    "/localEducationAgencies/{localEducationAgency_id}/sections": {
      "get": {
        "tags": [
          "sections"
        ],
        "description": "Retrieves resources using the associated LocalEducationAgency resource's identifier.",
        "operationId": "getSectionsByLocalEducationAgency_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "localEducationAgency_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/section"
              }
            }
          }
        }
      }
    },
    "/schools/{school_id}/sections": {
      "get": {
        "tags": [
          "sections"
        ],
        "description": "Retrieves resources using the associated School resource's identifier.",
        "operationId": "getSectionsBySchool_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "school_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/section"
              }
            }
          }
        }
      }
    },
    "/staffs/{staff_id}/sections": {
      "get": {
        "tags": [
          "sections"
        ],
        "description": "Retrieves resources using the associated Staff resource's identifier.",
        "operationId": "getSectionsByStaff_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "staff_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/section"
              }
            }
          }
        }
      }
    },
    "/students/{student_id}/sections": {
      "get": {
        "tags": [
          "sections"
        ],
        "description": "Retrieves resources using the associated Student resource's identifier.",
        "operationId": "getSectionsByStudent_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "student_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/section"
              }
            }
          }
        }
      }
    },


   "/sectionEnrollments": {
      "get": {
        "tags": [
          "sectionEnrollments"
        ],
        "description": "Retrieves a specific resource using the resource's identifier (using the \"Get By Key\" pattern).",
        "operationId": "getsectionEnrollmentsByKey_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/sectionEnrollment"
              }
            }
          }
        }
      }
    },
    "/sectionEnrollments/{id}": {
      "get": {
        "tags": [
          "sectionEnrollments"
        ],
        "description": "Retrieves a specific resource using the resource's identifier.",
        "operationId": "getsectionEnrollmentsById_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/sectionEnrollment"
              }
            }
          }
        }
      }
    },
    "/localEducationAgencies/{localEducationAgency_id}/sectionEnrollments": {
      "get": {
        "tags": [
          "sectionEnrollments"
        ],
        "description": "Retrieves resources using the associated LocalEducationAgency resource's identifier.",
        "operationId": "getsectionEnrollmentsByLocalEducationAgency_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "localEducationAgency_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/sectionEnrollment"
              }
            }
          }
        }
      }
    },
    "/schools/{school_id}/sectionEnrollments": {
      "get": {
        "tags": [
          "sectionEnrollments"
        ],
        "description": "Retrieves resources using the associated School resource's identifier.",
        "operationId": "getsectionEnrollmentsBySchool_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "school_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/sectionEnrollment"
              }
            }
          }
        }
      }
    },
    "/staffs/{staff_id}/sectionEnrollments": {
      "get": {
        "tags": [
          "sectionEnrollments"
        ],
        "description": "Retrieves resources using the associated Staff resource's identifier.",
        "operationId": "getsectionEnrollmentsByStaff_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "staff_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/sectionEnrollment"
              }
            }
          }
        }
      }
    },
    "/students/{student_id}/sectionEnrollments": {
      "get": {
        "tags": [
          "sectionEnrollments"
        ],
        "description": "Retrieves resources using the associated Student resource's identifier.",
        "operationId": "getsectionEnrollmentsByStudent_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "student_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/sectionEnrollment"
              }
            }
          }
        }
      }
    },


    "/schools": {
      "get": {
        "tags": [
          "schools"
        ],
        "description": "Retrieves all schools.",
        "operationId": "getAllSchools_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/school"
              }
            }
          }
        }
      }
    },
    "/schools/{id}": {
      "get": {
        "tags": [
          "schools"
        ],
        "description": "Retrieves a specific resource using the resource's identifier.",
        "operationId": "getSchoolsById_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/school"
              }
            }
          }
        }
      }
    },
    "/localEducationAgencies/{localEducationAgency_id}/schools": {
      "get": {
        "tags": [
          "schools"
        ],
        "description": "Retrieves resources using the associated LocalEducationAgency resource's identifier.",
        "operationId": "getSchoolsByLocalEducationAgency_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "localEducationAgency_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/school"
              }
            }
          }
        }
      }
    },
    "/sections/{section_id}/schools": {
      "get": {
        "tags": [
          "schools"
        ],
        "description": "Retrieves resources using the associated Section resource's identifier.",
        "operationId": "getSchoolsBySection_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "section_id",
            "in": "path",
            "type": "string",
            "required": true,
            "description" : "Section resource id"
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/school"
              }
            }
          }
        }
      }
    },
    "/staffs/{staff_id}/schools": {
      "get": {
        "tags": [
          "schools"
        ],
        "description": "Retrieves resources using the associated Staff resource's identifier.",
        "operationId": "getSchoolsByStaff_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "staff_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/school"
              }
            }
          }
        }
      }
    },
    "/students/{student_id}/schools": {
      "get": {
        "tags": [
          "schools"
        ],
        "description": "Retrieves resources using the associated Student resource's identifier.",
        "operationId": "getSchoolsByStudent_",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "student_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "name": "offset",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates how many items should be skipped before returning results."
          },
          {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "required": false,
            "description": "Indicates the maximum number of items that should be returned in the results (defaults to 25)."
          },
          {
            "name": "fields",
            "in": "query",
            "type": "string",
            "required": false,
            "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\")."
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/school"
              }
            }
          }
        }
      }
    }

  },
  "definitions": {
     "student": {
      "title": "student",
      "type": "object",
      "properties": {
        "id": {
          "description": "The unique identifier of the resource.",
          "type": "string"
        },
        "studentUniqueId": {
          "description": "A unique alphanumeric code assigned to a student.",
          "type": "string"
        },
        "personalTitlePrefix": {
          "description": "A prefix used to denote the title, degree, position, or seniority of the person.",
          "type": "string"
        },
        "firstName": {
          "description": "A name given to an individual at birth, baptism, or during another naming ceremony, or through legal change.",
          "type": "string"
        },
        "middleName": {
          "description": "A secondary name given to an individual at birth, baptism, or during another naming ceremony.",
          "type": "string"
        },
        "lastSurname": {
          "description": "The name borne in common by members of a family.",
          "type": "string"
        },
        "sexType": {
          "description": "A person''s gender.",
          "type": "string"
        },
        "birthDate": {
          "description": "The month, day, and year on which an individual was born.",
          "type": "string"
        },
        "hispanicLatinoEthnicity": {
          "description": "An indication that the individual traces his or her origin or descent to Mexico, Puerto Rico, Cuba, Central, and South America, and other Spanish cultures, regardless of race. The term, \"Spanish origin,\" can be used in addition to \"Hispanic or Latino.\"",
          "type": "boolean"
        },
        "economicDisadvantaged": {
          "description": "An indication of inadequate financial condition of an individual's family, as determined by family income, number of family members/dependents, participation in public assistance programs, and/or other characteristics considered relevant by federal, state, and local policy.",
          "type": "boolean"
        },
        "limitedEnglishProficiencyDescriptor": {
          "description": "An indication that the student has sufficient difficulty speaking, reading, writing, or understanding the English language, as to require special English Language services.",
          "type": "string"
        },
        "loginId": {
          "description": "The login ID for the user; used for security access control interface.",
          "type": "string"
        },
        "addresses": {
          "description": "An unordered collection of studentAddresses.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/student_studentAddress"
          }
        },
        "characteristics": {
          "description": "An unordered collection of studentCharacteristics.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/student_studentCharacteristic"
          }
        },
        "cohortYears": {
          "description": "An unordered collection of studentCohortYears.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/student_studentCohortYear"
          }
        },
        "electronicMails": {
          "description": "An unordered collection of studentElectronicMails.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/student_studentElectronicMail"
          }
        },
        "identificationCodes": {
          "description": "An unordered collection of studentIdentificationCodes.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/student_studentIdentificationCode"
          }
        },
        "indicators": {
          "description": "An unordered collection of studentIndicators.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/student_studentIndicator"
          }
        },
        "languages": {
          "description": "An unordered collection of studentLanguages.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/student_studentLanguage"
          }
        },
        "programParticipations": {
          "description": "An unordered collection of studentProgramParticipations.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/student_studentProgramParticipation"
          }
        },
        "races": {
          "description": "An unordered collection of studentRaces.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/student_studentRace"
          }
        },
        "telephones": {
          "description": "An unordered collection of studentTelephones.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/student_studentTelephone"
          }
        },
        "schoolAssociations": {
          "description": "An unordered collection of studentSchoolAssociations.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/student_studentSchoolAssociation"
          }
        }
      },
      "required": [
        "id",
        "studentUniqueId",
        "personalTitlePrefix",
        "firstName",
        "middleName",
        "lastSurname",
        "sexType",
        "birthDate",
        "hispanicLatinoEthnicity",
        "economicDisadvantaged",
        "limitedEnglishProficiencyDescriptor",
        "addresses",
        "characteristics",
        "cohortYears",
        "electronicMails",
        "identificationCodes",
        "indicators",
        "languages",
        "programParticipations",
        "races",
        "telephones",
        "schoolAssociations"
      ]
    },
    "student_studentAddress": {
      "title": "student_studentAddress",
      "type": "object",
      "properties": {
        "addressType": {
          "description": "Key for Address",
          "type": "string"
        },
        "streetNumberName": {
          "description": "The street number and street name or post office box number of an address.",
          "type": "string"
        },
        "city": {
          "description": "The name of the city in which an address is located.",
          "type": "string"
        },
        "stateAbbreviationType": {
          "description": "The abbreviation for the state (within the United States) or outlying area in which an address is located.",
          "type": "string"
        },
        "postalCode": {
          "description": "The five or nine digit zip code or overseas postal code portion of an address.",
          "type": "string"
        },
        "nameOfCounty": {
          "description": "The name of the county, parish, borough, or comparable unit (within a state) in which an address is located.",
          "type": "string"
        }
      },
      "required": [
        "addressType",
        "streetNumberName",
        "city",
        "stateAbbreviationType",
        "postalCode",
        "nameOfCounty"
      ]
    },
    "student_studentCharacteristic": {
      "title": "student_studentCharacteristic",
      "type": "object",
      "properties": {
        "studentCharacteristicDescriptor": {
          "description": "The characteristic designated for the student.",
          "type": "string"
        }
      },
      "required": [
        "studentCharacteristicDescriptor"
      ]
    },
    "student_studentCohortYear": {
      "title": "student_studentCohortYear",
      "type": "object",
      "properties": {
        "cohortYearType": {
          "description": "Key for CohortYear",
          "type": "string"
        },
        "schoolYear": {
          "description": "The identifier for the school year.",
          "type": "integer",
          "format": "int32"
        }
      },
      "required": [
        "cohortYearType",
        "schoolYear"
      ]
    },
    "student_studentElectronicMail": {
      "title": "student_studentElectronicMail",
      "type": "object",
      "properties": {
        "electronicMailType": {
          "description": "Key for ElectronicMail",
          "type": "string"
        },
        "electronicMailAddress": {
          "description": "The electronic mail (e-mail) address listed for an individual or organization.",
          "type": "string"
        }
      },
      "required": [
        "electronicMailType",
        "electronicMailAddress"
      ]
    },
    "student_studentIdentificationCode": {
      "title": "student_studentIdentificationCode",
      "type": "object",
      "properties": {
        "assigningOrganizationIdentificationCode": {
          "description": "The organization code or name assigning the StudentIdentificationCode.",
          "type": "string"
        },
        "studentIdentificationSystemDescriptor": {
          "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
          "type": "string"
        },
        "identificationCode": {
          "description": "A unique number or alphanumeric code assigned to a space, room, site, building, individual, organization, program, or institution by a school, school system, a state, or other agency or entity.",
          "type": "string"
        }
      },
      "required": [
        "assigningOrganizationIdentificationCode",
        "studentIdentificationSystemDescriptor",
        "identificationCode"
      ]
    },
    "student_studentIndicator": {
      "title": "student_studentIndicator",
      "type": "object",
      "properties": {
        "indicatorName": {
          "description": "The name of the Indicator, indicator group, or metric computed for the student (e.g., at risk) to influence more effective education or direct specific interventions.",
          "type": "string"
        },
        "indicator": {
          "description": "Indicator or metric computed for the student (e.g., at risk) to influence more effective education or direct specific interventions.",
          "type": "string"
        }
      },
      "required": [
        "indicatorName",
        "indicator"
      ]
    },
    "student_studentLanguage": {
      "title": "student_studentLanguage",
      "type": "object",
      "properties": {
        "languageDescriptor": {
          "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
          "type": "string"
        }
      },
      "required": [
        "languageDescriptor"
      ]
    },
    "student_studentProgramParticipation": {
      "title": "student_studentProgramParticipation",
      "type": "object",
      "properties": {
        "programType": {
          "description": "The program the student is associated with or receiving services from.",
          "type": "string"
        },
        "beginDate": {
          "description": "The date the Student was associated with the Program or service.",
          "type": "string"
        },
        "endDate": {
          "description": "The date the Program participation ended.",
          "type": "string"
        }
      },
      "required": [
        "programType",
        "beginDate",
        "endDate"
      ]
    },
    "student_studentRace": {
      "title": "student_studentRace",
      "type": "object",
      "properties": {
        "raceType": {
          "description": "Key for Race",
          "type": "string"
        }
      },
      "required": [
        "raceType"
      ]
    },
    "student_studentTelephone": {
      "title": "student_studentTelephone",
      "type": "object",
      "properties": {
        "telephoneNumberType": {
          "description": "Key for TelephoneNumber",
          "type": "string"
        },
        "orderOfPriority": {
          "description": "The order of priority assigned to telephone numbers to define which number to attempt first, second, etc.",
          "type": "integer",
          "format": "int32"
        },
        "telephoneNumber": {
          "description": "The telephone number including the area code, and extension, if applicable.",
          "type": "string"
        }
      },
      "required": [
        "telephoneNumberType",
        "orderOfPriority",
        "telephoneNumber"
      ]
    },
    "student_studentSchoolAssociation": {
      "title": "student_studentSchoolAssociation",
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "gradeLevel": {
          "description": "The grade level or primary instructional level at which a student enters and receives services in a school or an educational institution during a given academic session.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "gradeLevel"
      ]
    },
        "staff": {
      "title": "staff",
      "type": "object",
      "properties": {
        "id": {
          "description": "The unique identifier of the resource.",
          "type": "string"
        },
        "staffUniqueId": {
          "description": "A unique alphanumeric code assigned to a staff.",
          "type": "string"
        },
        "personalTitlePrefix": {
          "description": "A prefix used to denote the title, degree, position, or seniority of the person.",
          "type": "string"
        },
        "firstName": {
          "description": "A name given to an individual at birth, baptism, or during another naming ceremony, or through legal change.",
          "type": "string"
        },
        "lastSurname": {
          "description": "The name borne in common by members of a family.",
          "type": "string"
        },
        "sexType": {
          "description": "A person''s gender.",
          "type": "string"
        },
        "birthDate": {
          "description": "The month, day, and year on which an individual was born.",
          "type": "string"
        },
        "hispanicLatinoEthnicity": {
          "description": "An indication that the individual traces his or her origin or descent to Mexico, Puerto Rico, Cuba, Central, and South America, and other Spanish cultures, regardless of race. The term, \"Spanish origin,\" can be used in addition to \"Hispanic or Latino.\"",
          "type": "boolean"
        },
        "loginId": {
          "description": "The login ID for the user; used for security access control interface.",
          "type": "string"
        },
        "addresses": {
          "description": "An unordered collection of staffAddresses.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/staff_staffAddress"
          }
        },
        "electronicMails": {
          "description": "An unordered collection of staffElectronicMails.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/staff_staffElectronicMail"
          }
        },
        "identificationCodes": {
          "description": "An unordered collection of staffIdentificationCodes.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/staff_staffIdentificationCode"
          }
        },
        "languages": {
          "description": "An unordered collection of staffLanguages.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/staff_staffLanguage"
          }
        },
        "races": {
          "description": "An unordered collection of staffRaces.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/staff_staffRace"
          }
        },
        "telephones": {
          "description": "An unordered collection of staffTelephones.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/staff_staffTelephone"
          }
        },
        "classifications": {
          "description": "An unordered collection of staffEducationOrganizationAssignmentAssociations.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/staff_staffEducationOrganizationAssignmentAssociation"
          }
        }
      },
      "required": [
        "id",
        "staffUniqueId",
        "personalTitlePrefix",
        "firstName",
        "lastSurname",
        "sexType",
        "birthDate",
        "hispanicLatinoEthnicity",
        "addresses",
        "electronicMails",
        "identificationCodes",
        "languages",
        "races",
        "telephones",
        "classifications"
      ]
    },
    "staff_staffAddress": {
      "title": "staff_staffAddress",
      "type": "object",
      "properties": {
        "addressType": {
          "description": "Key for Address",
          "type": "string"
        },
        "streetNumberName": {
          "description": "The street number and street name or post office box number of an address.",
          "type": "string"
        },
        "city": {
          "description": "The name of the city in which an address is located.",
          "type": "string"
        },
        "stateAbbreviationType": {
          "description": "The abbreviation for the state (within the United States) or outlying area in which an address is located.",
          "type": "string"
        },
        "postalCode": {
          "description": "The five or nine digit zip code or overseas postal code portion of an address.",
          "type": "string"
        },
        "nameOfCounty": {
          "description": "The name of the county, parish, borough, or comparable unit (within a state) in which an address is located.",
          "type": "string"
        }
      },
      "required": [
        "addressType",
        "streetNumberName",
        "city",
        "stateAbbreviationType",
        "postalCode",
        "nameOfCounty"
      ]
    },
    "staff_staffElectronicMail": {
      "title": "staff_staffElectronicMail",
      "type": "object",
      "properties": {
        "electronicMailType": {
          "description": "Key for ElectronicMail",
          "type": "string"
        },
        "electronicMailAddress": {
          "description": "The electronic mail (e-mail) address listed for an individual or organization.",
          "type": "string"
        }
      },
      "required": [
        "electronicMailType",
        "electronicMailAddress"
      ]
    },
    "staff_staffIdentificationCode": {
      "title": "staff_staffIdentificationCode",
      "type": "object",
      "properties": {
        "staffIdentificationSystemDescriptor": {
          "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
          "type": "string"
        },
        "identificationCode": {
          "description": "A unique number or alphanumeric code assigned to a space, room, site, building, individual, organization, program, or institution by a school, school system, a state, or other agency or entity.",
          "type": "string"
        }
      },
      "required": [
        "staffIdentificationSystemDescriptor",
        "identificationCode"
      ]
    },
    "staff_staffLanguage": {
      "title": "staff_staffLanguage",
      "type": "object",
      "properties": {
        "languageDescriptor": {
          "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
          "type": "string"
        }
      },
      "required": [
        "languageDescriptor"
      ]
    },
    "staff_staffRace": {
      "title": "staff_staffRace",
      "type": "object",
      "properties": {
        "raceType": {
          "description": "The general racial category which most clearly reflects the individual''s recognition of his or her community or with which the individual most identifies. The way this data element is listed, it must allow for multiple entries so that each individual can specify all appropriate races.        AMERICAN-INDIAN-ALASKA-NATIVE-CODE        ASIAN-CODE        BLACK-AFRICAN-AMERICAN-CODE        NATIVE-HAWAIIAN-PACIFIC-ISLANDER-CODE        WHITE-CODE",
          "type": "string"
        }
      },
      "required": [
        "raceType"
      ]
    },
    "staff_staffTelephone": {
      "title": "staff_staffTelephone",
      "type": "object",
      "properties": {
        "telephoneNumberType": {
          "description": "Key for TelephoneNumber",
          "type": "string"
        },
        "orderOfPriority": {
          "description": "The order of priority assigned to telephone numbers to define which number to attempt first, second, etc.",
          "type": "integer",
          "format": "int32"
        },
        "telephoneNumber": {
          "description": "The telephone number including the area code, and extension, if applicable.",
          "type": "string"
        }
      },
      "required": [
        "telephoneNumberType",
        "orderOfPriority",
        "telephoneNumber"
      ]
    },
    "staff_staffEducationOrganizationAssignmentAssociation": {
      "title": "staff_staffEducationOrganizationAssignmentAssociation",
      "type": "object",
      "properties": {
        "classification": {
          "description": "The titles of employment, official status, or rank of education staff.",
          "type": "string"
        }
      },
      "required": [
        "classification"
      ]
    },
       "section": {
      "title": "section",
      "type": "object",
      "properties": {
        "id": {
          "description": "The unique identifier of the resource.",
          "type": "string"
        },
        "uniqueSectionCode": {
          "description": "A unique identifier for the Section, that is defined by the classroom, the subjects taught, and the instructors that are assigned.",
          "type": "string"
        },
        "sequenceOfCourse": {
          "description": "When a Section is part of a sequence of parts for a course, the number if the sequence. If the course has only one part, the value of this Section attribute should be 1.",
          "type": "integer",
          "format": "int32"
        },
        "educationalEnvironmentType": {
          "description": "The setting in which a child receives education and related services; for example:  Center-based instruction  Home-based instruction  Hospital class  Mainstream  Residential care and treatment facility  ....",
          "type": "string"
        },
        "availableCredits": {
          "description": "Credits or units of value awarded for the completion of a course.",
          "type": "integer",
          "format": "int32"
        },
        "academicSubjectDescriptor": {
          "description": "The intended major subject area of the course.  NEDM: Secondary Course Subject Area",
          "type": "string"
        },
        "sessionReference": {
          "$ref": "#/definitions/section_session"
        },
        "classPeriodReference": {
          "$ref": "#/definitions/section_classPeriod"
        },
        "courseOfferingReference": {
          "$ref": "#/definitions/section_courseOffering"
        },
        "locationReference": {
          "$ref": "#/definitions/section_location"
        },
        "schoolReference": {
          "$ref": "#/definitions/section_school"
        },
        "staff": {
          "description": "An unordered collection of staffSectionAssociations.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/section_staffSectionAssociation"
          }
        },
        "students": {
          "description": "An unordered collection of studentSectionAssociations.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/section_studentSectionAssociation"
          }
        }
      },
      "required": [
        "id",
        "uniqueSectionCode",
        "sequenceOfCourse",
        "educationalEnvironmentType",
        "availableCredits",
        "academicSubjectDescriptor",
        "sessionReference",
        "classPeriodReference",
        "courseOfferingReference",
        "locationReference",
        "schoolReference",
        "staff",
        "students"
      ]
    },
       "section_staffSectionAssociation": {
      "title": "section_staffSectionAssociation",
      "type": "object",
      "properties": {
        "id": {
          "description": "The unique identifier for the staff resource"
        },
        "staffUniqueId": {
          "description": "A unique alphanumeric code assigned to a staff."
        },
        "staffSectionAssociation_id": {
          "description": "The unique identifier for the staffSectionAssociation resource"
        }
      },
      "required": [
        "id",
        "staffUniqueId",
        "staffSectionAssociation_id"
      ]
    },
    "section_studentSectionAssociation": {
      "title": "section_studentSectionAssociation",
      "type": "object",
      "properties": {
        "id": {
          "description": "The unique identifier for the student resource"
        },
        "studentUniqueId": {
          "description": "A unique alphanumeric code assigned to a student."
        },
        "studentSectionAssociation_id": {
          "description": "The unique identifier for the studentSectionAssociation resource"
        }
      },
      "required": [
        "id",
        "studentUniqueId",
        "studentSectionAssociation_id"
      ]
    },
    "section_session": {
      "title": "section_session",
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "schoolId": {
          "description": "School Identity Column",
          "type": "integer",
          "format": "int32"
        },
        "schoolYear": {
          "description": "The identifier for the school year (e.g., 2010/11).",
          "type": "integer",
          "format": "int32"
        },
        "termDescriptor": {
          "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
          "type": "string"
        },
        "sessionName": {
          "description": "The identifier for the calendar for the academic session (e.g., 2010/11, 2011 Summer).  NEDM: Session Type",
          "type": "string"
        },
        "beginDate": {
          "description": "Month, day, and year of the first day of the Session.",
          "type": "string"
        },
        "endDate": {
          "description": "Month, day, and year of the last day of the Session.",
          "type": "string"
        },
        "totalInstructionalDays": {
          "description": "The total number of instructional days in the school calendar.",
          "type": "integer",
          "format": "int32"
        }
      },
      "required": [
        "id",
        "schoolId",
        "schoolYear",
        "termDescriptor",
        "sessionName",
        "beginDate",
        "endDate",
        "totalInstructionalDays"
      ]
    },
    "section_classPeriod": {
      "title": "section_classPeriod",
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "schoolId": {
          "description": "School Identity Column",
          "type": "integer",
          "format": "int32"
        },
        "name": {
          "description": "An indication of the portion of a typical daily session in which students receive instruction in a specified subject (e.g., morning, sixth period, block period, or AB schedules).   NEDM: Class Period",
          "type": "string"
        }
      },
      "required": [
        "id",
        "schoolId",
        "name"
      ]
    },
    "section_courseOffering": {
      "title": "section_courseOffering",
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "localCourseCode": {
          "description": "The local code assigned by the LEA that identifies the organization of subject matter and related learning experiences provided for the instruction of students.",
          "type": "string"
        },
        "schoolId": {
          "description": "School Identity Column",
          "type": "integer",
          "format": "int32"
        },
        "schoolYear": {
          "description": "The identifier for the school year (e.g., 2010/11).",
          "type": "integer",
          "format": "int32"
        },
        "termDescriptor": {
          "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "localCourseCode",
        "schoolId",
        "schoolYear",
        "termDescriptor"
      ]
    },
    "section_location": {
      "title": "section_location",
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "schoolId": {
          "description": "Location Identity Column",
          "type": "integer",
          "format": "int32"
        },
        "classroomIdentificationCode": {
          "description": "A unique number or alphanumeric code assigned to a room by a school, school system, state, or other agency or entity.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "schoolId",
        "classroomIdentificationCode"
      ]
    },
    "section_school": {
      "title": "section_school",
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "schoolId": {
          "description": "The identifier assigned to a school by the State Education Agency (SEA).",
          "type": "integer",
          "format": "int32"
        }
      },
      "required": [
        "id",
        "schoolId"
      ]
    },
       "sectionEnrollment": {
      "title": "sectionEnrollment",
      "type": "object",
      "properties": {
        "id": {
          "description": "The unique identifier of the resource.",
          "type": "string"
        },
        "uniqueSectionCode": {
          "description": "A unique identifier for the Section, that is defined by the classroom, the subjects taught, and the instructors that are assigned.",
          "type": "string"
        },
        "sequenceOfCourse": {
          "description": "When a Section is part of a sequence of parts for a course, the number if the sequence. If the course has only one part, the value of this Section attribute should be 1.",
          "type": "integer",
          "format": "int32"
        },
        "educationalEnvironmentType": {
          "description": "The setting in which a child receives education and related services; for example:  Center-based instruction  Home-based instruction  Hospital class  Mainstream  Residential care and treatment facility  ....",
          "type": "string"
        },
        "availableCredits": {
          "description": "Credits or units of value awarded for the completion of a course.",
          "type": "integer",
          "format": "int32"
        },
        "academicSubjectDescriptor": {
          "description": "The intended major subject area of the course.  NEDM: Secondary Course Subject Area",
          "type": "string"
        },
        "sessionReference": {
          "$ref": "#/definitions/sectionEnrollment_session"
        },
        "classPeriodReference": {
          "$ref": "#/definitions/sectionEnrollment_classPeriod"
        },
        "courseOfferingReference": {
          "$ref": "#/definitions/sectionEnrollment_courseOffering"
        },
        "locationReference": {
          "$ref": "#/definitions/sectionEnrollment_location"
        },
        "schoolReference": {
          "$ref": "#/definitions/sectionEnrollment_school"
        },
        "staff": {
          "description": "An unordered collection of staffSectionAssociations.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_staffSectionAssociation"
          }
        },
        "students": {
          "description": "An unordered collection of studentSectionAssociations.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_studentSectionAssociation"
          }
        }
      },
      "required": [
        "id",
        "uniqueSectionCode",
        "sequenceOfCourse",
        "educationalEnvironmentType",
        "availableCredits",
        "academicSubjectDescriptor",
        "sessionReference",
        "classPeriodReference",
        "courseOfferingReference",
        "locationReference",
        "schoolReference",
        "staff",
        "students"
      ]
    },
    "sectionEnrollment_staffSectionAssociation": {
      "title": "sectionEnrollment_staffSectionAssociation",
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "staffUniqueId": {
          "description": "A unique alphanumeric code assigned to a staff.",
          "type": "string"
        },
        "personalTitlePrefix": {
          "description": "A prefix used to denote the title, degree, position, or seniority of the person.",
          "type": "string"
        },
        "firstName": {
          "description": "A name given to an individual at birth, baptism, or during another naming ceremony, or through legal change.",
          "type": "string"
        },
        "lastSurname": {
          "description": "The name borne in common by members of a family.",
          "type": "string"
        },
        "sexType": {
          "description": "A person''s gender.",
          "type": "string"
        },
        "birthDate": {
          "description": "The month, day, and year on which an individual was born.",
          "type": "string"
        },
        "hispanicLatinoEthnicity": {
          "description": "An indication that the individual traces his or her origin or descent to Mexico, Puerto Rico, Cuba, Central, and South America, and other Spanish cultures, regardless of race. The term, \"Spanish origin,\" can be used in addition to \"Hispanic or Latino.\"",
          "type": "boolean"
        },
        "addresses": {
          "description": "An unordered collection of staffAddresses.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_staffSectionAssociation_staffAddress"
          }
        },
        "electronicMails": {
          "description": "An unordered collection of staffElectronicMails.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_staffSectionAssociation_staffElectronicMail"
          }
        },
        "identificationCodes": {
          "description": "An unordered collection of staffIdentificationCodes.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_staffSectionAssociation_staffIdentificationCode"
          }
        },
        "languages": {
          "description": "An unordered collection of staffLanguages.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_staffSectionAssociation_staffLanguage"
          }
        },
        "races": {
          "description": "An unordered collection of staffRaces.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_staffSectionAssociation_staffRace"
          }
        },
        "telephones": {
          "description": "An unordered collection of staffTelephones.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_staffSectionAssociation_staffTelephone"
          }
        },
        "classifications": {
          "description": "An unordered collection of staffEducationOrganizationAssignmentAssociations.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_staffSectionAssociation_staffEducationOrganizationAssignmentAssociation"
          }
        }
      },
      "required": [
        "id",
        "staffUniqueId",
        "personalTitlePrefix",
        "firstName",
        "lastSurname",
        "sexType",
        "birthDate",
        "hispanicLatinoEthnicity",
        "addresses",
        "electronicMails",
        "identificationCodes",
        "languages",
        "races",
        "telephones",
        "classifications"
      ]
    },
    "sectionEnrollment_studentSectionAssociation": {
      "title": "sectionEnrollment_studentSectionAssociation",
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "studentUniqueId": {
          "description": "A unique alphanumeric code assigned to a student.",
          "type": "string"
        },
        "personalTitlePrefix": {
          "description": "A prefix used to denote the title, degree, position, or seniority of the person.",
          "type": "string"
        },
        "firstName": {
          "description": "A name given to an individual at birth, baptism, or during another naming ceremony, or through legal change.",
          "type": "string"
        },
        "middleName": {
          "description": "A secondary name given to an individual at birth, baptism, or during another naming ceremony.",
          "type": "string"
        },
        "lastSurname": {
          "description": "The name borne in common by members of a family.",
          "type": "string"
        },
        "sexType": {
          "description": "A person''s gender.",
          "type": "string"
        },
        "birthDate": {
          "description": "The month, day, and year on which an individual was born.",
          "type": "string"
        },
        "hispanicLatinoEthnicity": {
          "description": "An indication that the individual traces his or her origin or descent to Mexico, Puerto Rico, Cuba, Central, and South America, and other Spanish cultures, regardless of race. The term, \"Spanish origin,\" can be used in addition to \"Hispanic or Latino.\"",
          "type": "boolean"
        },
        "economicDisadvantaged": {
          "description": "An indication of inadequate financial condition of an individual's family, as determined by family income, number of family members/dependents, participation in public assistance programs, and/or other characteristics considered relevant by federal, state, and local policy.",
          "type": "boolean"
        },
        "limitedEnglishProficiencyDescriptor": {
          "description": "An indication that the student has sufficient difficulty speaking, reading, writing, or understanding the English language, as to require special English Language services.",
          "type": "string"
        },
        "addresses": {
          "description": "An unordered collection of studentAddresses.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_studentSectionAssociation_studentAddress"
          }
        },
        "characteristics": {
          "description": "An unordered collection of studentCharacteristics.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_studentSectionAssociation_studentCharacteristic"
          }
        },
        "cohortYears": {
          "description": "An unordered collection of studentCohortYears.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_studentSectionAssociation_studentCohortYear"
          }
        },
        "electronicMails": {
          "description": "An unordered collection of studentElectronicMails.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_studentSectionAssociation_studentElectronicMail"
          }
        },
        "identificationCodes": {
          "description": "An unordered collection of studentIdentificationCodes.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_studentSectionAssociation_studentIdentificationCode"
          }
        },
        "indicators": {
          "description": "An unordered collection of studentIndicators.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_studentSectionAssociation_studentIndicator"
          }
        },
        "languages": {
          "description": "An unordered collection of studentLanguages.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_studentSectionAssociation_studentLanguage"
          }
        },
        "programParticipations": {
          "description": "An unordered collection of studentProgramParticipations.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_studentSectionAssociation_studentProgramParticipation"
          }
        },
        "races": {
          "description": "An unordered collection of studentRaces.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_studentSectionAssociation_studentRace"
          }
        },
        "telephones": {
          "description": "An unordered collection of studentTelephones.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_studentSectionAssociation_studentTelephone"
          }
        },
        "schoolAssociations": {
          "description": "An unordered collection of studentSchoolAssociations.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/sectionEnrollment_studentSectionAssociation_studentSchoolAssociation"
          }
        }
      },
      "required": [
        "id",
        "studentUniqueId",
        "personalTitlePrefix",
        "firstName",
        "middleName",
        "lastSurname",
        "sexType",
        "birthDate",
        "hispanicLatinoEthnicity",
        "economicDisadvantaged",
        "limitedEnglishProficiencyDescriptor",
        "addresses",
        "characteristics",
        "cohortYears",
        "electronicMails",
        "identificationCodes",
        "indicators",
        "languages",
        "programParticipations",
        "races",
        "telephones",
        "schoolAssociations"
      ]
    },
    "sectionEnrollment_staffSectionAssociation_staffAddress": {
      "title": "sectionEnrollment_staffSectionAssociation_staffAddress",
      "type": "object",
      "properties": {
        "addressType": {
          "description": "Key for Address",
          "type": "string"
        },
        "streetNumberName": {
          "description": "The street number and street name or post office box number of an address.",
          "type": "string"
        },
        "city": {
          "description": "The name of the city in which an address is located.",
          "type": "string"
        },
        "stateAbbreviationType": {
          "description": "The abbreviation for the state (within the United States) or outlying area in which an address is located.",
          "type": "string"
        },
        "postalCode": {
          "description": "The five or nine digit zip code or overseas postal code portion of an address.",
          "type": "string"
        },
        "nameOfCounty": {
          "description": "The name of the county, parish, borough, or comparable unit (within a state) in which an address is located.",
          "type": "string"
        }
      },
      "required": [
        "addressType",
        "streetNumberName",
        "city",
        "stateAbbreviationType",
        "postalCode",
        "nameOfCounty"
      ]
    },
    "sectionEnrollment_staffSectionAssociation_staffElectronicMail": {
      "title": "sectionEnrollment_staffSectionAssociation_staffElectronicMail",
      "type": "object",
      "properties": {
        "electronicMailType": {
          "description": "Key for ElectronicMail",
          "type": "string"
        },
        "electronicMailAddress": {
          "description": "The electronic mail (e-mail) address listed for an individual or organization.",
          "type": "string"
        }
      },
      "required": [
        "electronicMailType",
        "electronicMailAddress"
      ]
    },
    "sectionEnrollment_staffSectionAssociation_staffIdentificationCode": {
      "title": "sectionEnrollment_staffSectionAssociation_staffIdentificationCode",
      "type": "object",
      "properties": {
        "staffIdentificationSystemDescriptor": {
          "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
          "type": "string"
        },
        "identificationCode": {
          "description": "A unique number or alphanumeric code assigned to a space, room, site, building, individual, organization, program, or institution by a school, school system, a state, or other agency or entity.",
          "type": "string"
        }
      },
      "required": [
        "staffIdentificationSystemDescriptor",
        "identificationCode"
      ]
    },
    "sectionEnrollment_staffSectionAssociation_staffLanguage": {
      "title": "sectionEnrollment_staffSectionAssociation_staffLanguage",
      "type": "object",
      "properties": {
        "languageDescriptor": {
          "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
          "type": "string"
        }
      },
      "required": [
        "languageDescriptor"
      ]
    },
    "sectionEnrollment_staffSectionAssociation_staffRace": {
      "title": "sectionEnrollment_staffSectionAssociation_staffRace",
      "type": "object",
      "properties": {
        "raceType": {
          "description": "The general racial category which most clearly reflects the individual''s recognition of his or her community or with which the individual most identifies. The way this data element is listed, it must allow for multiple entries so that each individual can specify all appropriate races.        AMERICAN-INDIAN-ALASKA-NATIVE-CODE        ASIAN-CODE        BLACK-AFRICAN-AMERICAN-CODE        NATIVE-HAWAIIAN-PACIFIC-ISLANDER-CODE        WHITE-CODE",
          "type": "string"
        }
      },
      "required": [
        "raceType"
      ]
    },
    "sectionEnrollment_staffSectionAssociation_staffTelephone": {
      "title": "sectionEnrollment_staffSectionAssociation_staffTelephone",
      "type": "object",
      "properties": {
        "telephoneNumberType": {
          "description": "Key for TelephoneNumber",
          "type": "string"
        },
        "orderOfPriority": {
          "description": "The order of priority assigned to telephone numbers to define which number to attempt first, second, etc.",
          "type": "integer",
          "format": "int32"
        },
        "telephoneNumber": {
          "description": "The telephone number including the area code, and extension, if applicable.",
          "type": "string"
        }
      },
      "required": [
        "telephoneNumberType",
        "orderOfPriority",
        "telephoneNumber"
      ]
    },
    "sectionEnrollment_staffSectionAssociation_staffEducationOrganizationAssignmentAssociation": {
      "title": "sectionEnrollment_staffSectionAssociation_staffEducationOrganizationAssignmentAssociation",
      "type": "object",
      "properties": {
        "classification": {
          "description": "The titles of employment, official status, or rank of education staff.",
          "type": "string"
        }
      },
      "required": [
        "classification"
      ]
    },
    "sectionEnrollment_studentSectionAssociation_studentAddress": {
      "title": "sectionEnrollment_studentSectionAssociation_studentAddress",
      "type": "object",
      "properties": {
        "addressType": {
          "description": "Key for Address",
          "type": "string"
        },
        "streetNumberName": {
          "description": "The street number and street name or post office box number of an address.",
          "type": "string"
        },
        "city": {
          "description": "The name of the city in which an address is located.",
          "type": "string"
        },
        "stateAbbreviationType": {
          "description": "The abbreviation for the state (within the United States) or outlying area in which an address is located.",
          "type": "string"
        },
        "postalCode": {
          "description": "The five or nine digit zip code or overseas postal code portion of an address.",
          "type": "string"
        },
        "nameOfCounty": {
          "description": "The name of the county, parish, borough, or comparable unit (within a state) in which an address is located.",
          "type": "string"
        }
      },
      "required": [
        "addressType",
        "streetNumberName",
        "city",
        "stateAbbreviationType",
        "postalCode",
        "nameOfCounty"
      ]
    },
    "sectionEnrollment_studentSectionAssociation_studentCharacteristic": {
      "title": "sectionEnrollment_studentSectionAssociation_studentCharacteristic",
      "type": "object",
      "properties": {
        "studentCharacteristicDescriptor": {
          "description": "The characteristic designated for the student.",
          "type": "string"
        }
      },
      "required": [
        "studentCharacteristicDescriptor"
      ]
    },
    "sectionEnrollment_studentSectionAssociation_studentCohortYear": {
      "title": "sectionEnrollment_studentSectionAssociation_studentCohortYear",
      "type": "object",
      "properties": {
        "cohortYearType": {
          "description": "Key for CohortYear",
          "type": "string"
        },
        "schoolYear": {
          "description": "The identifier for the school year.",
          "type": "integer",
          "format": "int32"
        }
      },
      "required": [
        "cohortYearType",
        "schoolYear"
      ]
    },
    "sectionEnrollment_studentSectionAssociation_studentElectronicMail": {
      "title": "sectionEnrollment_studentSectionAssociation_studentElectronicMail",
      "type": "object",
      "properties": {
        "electronicMailType": {
          "description": "Key for ElectronicMail",
          "type": "string"
        },
        "electronicMailAddress": {
          "description": "The electronic mail (e-mail) address listed for an individual or organization.",
          "type": "string"
        }
      },
      "required": [
        "electronicMailType",
        "electronicMailAddress"
      ]
    },
    "sectionEnrollment_studentSectionAssociation_studentIdentificationCode": {
      "title": "sectionEnrollment_studentSectionAssociation_studentIdentificationCode",
      "type": "object",
      "properties": {
        "assigningOrganizationIdentificationCode": {
          "description": "The organization code or name assigning the StudentIdentificationCode.",
          "type": "string"
        },
        "studentIdentificationSystemDescriptor": {
          "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
          "type": "string"
        },
        "identificationCode": {
          "description": "A unique number or alphanumeric code assigned to a space, room, site, building, individual, organization, program, or institution by a school, school system, a state, or other agency or entity.",
          "type": "string"
        }
      },
      "required": [
        "assigningOrganizationIdentificationCode",
        "studentIdentificationSystemDescriptor",
        "identificationCode"
      ]
    },
    "sectionEnrollment_studentSectionAssociation_studentIndicator": {
      "title": "sectionEnrollment_studentSectionAssociation_studentIndicator",
      "type": "object",
      "properties": {
        "indicatorName": {
          "description": "The name of the Indicator, indicator group, or metric computed for the student (e.g., at risk) to influence more effective education or direct specific interventions.",
          "type": "string"
        },
        "indicator": {
          "description": "Indicator or metric computed for the student (e.g., at risk) to influence more effective education or direct specific interventions.",
          "type": "string"
        }
      },
      "required": [
        "indicatorName",
        "indicator"
      ]
    },
    "sectionEnrollment_studentSectionAssociation_studentLanguage": {
      "title": "sectionEnrollment_studentSectionAssociation_studentLanguage",
      "type": "object",
      "properties": {
        "languageDescriptor": {
          "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
          "type": "string"
        }
      },
      "required": [
        "languageDescriptor"
      ]
    },
    "sectionEnrollment_studentSectionAssociation_studentProgramParticipation": {
      "title": "sectionEnrollment_studentSectionAssociation_studentProgramParticipation",
      "type": "object",
      "properties": {
        "programType": {
          "description": "The program the student is associated with or receiving services from.",
          "type": "string"
        },
        "beginDate": {
          "description": "The date the Student was associated with the Program or service.",
          "type": "string"
        },
        "endDate": {
          "description": "The date the Program participation ended.",
          "type": "string"
        }
      },
      "required": [
        "programType",
        "beginDate",
        "endDate"
      ]
    },
    "sectionEnrollment_studentSectionAssociation_studentRace": {
      "title": "sectionEnrollment_studentSectionAssociation_studentRace",
      "type": "object",
      "properties": {
        "raceType": {
          "description": "Key for Race",
          "type": "string"
        }
      },
      "required": [
        "raceType"
      ]
    },
    "sectionEnrollment_studentSectionAssociation_studentTelephone": {
      "title": "sectionEnrollment_studentSectionAssociation_studentTelephone",
      "type": "object",
      "properties": {
        "telephoneNumberType": {
          "description": "Key for TelephoneNumber",
          "type": "string"
        },
        "orderOfPriority": {
          "description": "The order of priority assigned to telephone numbers to define which number to attempt first, second, etc.",
          "type": "integer",
          "format": "int32"
        },
        "telephoneNumber": {
          "description": "The telephone number including the area code, and extension, if applicable.",
          "type": "string"
        }
      },
      "required": [
        "telephoneNumberType",
        "orderOfPriority",
        "telephoneNumber"
      ]
    },
    "sectionEnrollment_studentSectionAssociation_studentSchoolAssociation": {
      "title": "sectionEnrollment_studentSectionAssociation_studentSchoolAssociation",
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "gradeLevel": {
          "description": "The grade level or primary instructional level at which a student enters and receives services in a school or an educational institution during a given academic session.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "gradeLevel"
      ]
    },
    "sectionEnrollment_session": {
      "title": "sectionEnrollment_session",
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "schoolId": {
          "description": "School Identity Column",
          "type": "integer",
          "format": "int32"
        },
        "schoolYear": {
          "description": "The identifier for the school year (e.g., 2010/11).",
          "type": "integer",
          "format": "int32"
        },
        "termDescriptor": {
          "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
          "type": "string"
        },
        "sessionName": {
          "description": "The identifier for the calendar for the academic session (e.g., 2010/11, 2011 Summer).  NEDM: Session Type",
          "type": "string"
        },
        "beginDate": {
          "description": "Month, day, and year of the first day of the Session.",
          "type": "string"
        },
        "endDate": {
          "description": "Month, day, and year of the last day of the Session.",
          "type": "string"
        },
        "totalInstructionalDays": {
          "description": "The total number of instructional days in the school calendar.",
          "type": "integer",
          "format": "int32"
        }
      },
      "required": [
        "id",
        "schoolId",
        "schoolYear",
        "termDescriptor",
        "sessionName",
        "beginDate",
        "endDate",
        "totalInstructionalDays"
      ]
    },
    "sectionEnrollment_classPeriod": {
      "title": "sectionEnrollment_classPeriod",
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "schoolId": {
          "description": "School Identity Column",
          "type": "integer",
          "format": "int32"
        },
        "name": {
          "description": "An indication of the portion of a typical daily session in which students receive instruction in a specified subject (e.g., morning, sixth period, block period, or AB schedules).   NEDM: Class Period",
          "type": "string"
        }
      },
      "required": [
        "id",
        "schoolId",
        "name"
      ]
    },
    "sectionEnrollment_courseOffering": {
      "title": "sectionEnrollment_courseOffering",
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "localCourseCode": {
          "description": "The local code assigned by the LEA that identifies the organization of subject matter and related learning experiences provided for the instruction of students.",
          "type": "string"
        },
        "schoolId": {
          "description": "School Identity Column",
          "type": "integer",
          "format": "int32"
        },
        "schoolYear": {
          "description": "The identifier for the school year (e.g., 2010/11).",
          "type": "integer",
          "format": "int32"
        },
        "termDescriptor": {
          "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "localCourseCode",
        "schoolId",
        "schoolYear",
        "termDescriptor"
      ]
    },
    "sectionEnrollment_location": {
      "title": "sectionEnrollment_location",
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "schoolId": {
          "description": "Location Identity Column",
          "type": "integer",
          "format": "int32"
        },
        "classroomIdentificationCode": {
          "description": "A unique number or alphanumeric code assigned to a room by a school, school system, state, or other agency or entity.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "schoolId",
        "classroomIdentificationCode"
      ]
    },
    "sectionEnrollment_school": {
      "title": "sectionEnrollment_school",
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "schoolId": {
          "description": "The identifier assigned to a school by the State Education Agency (SEA).",
          "type": "integer",
          "format": "int32"
        }
      },
      "required": [
        "id",
        "schoolId"
      ]
    },
       "school": {
      "title": "school",
      "type": "object",
      "properties": {
        "id": {
          "description": "The unique identifier of the resource.",
          "type": "string"
        },
        "schoolId": {
          "description": "The identifier assigned to a school by the State Education Agency (SEA).",
          "type": "integer",
          "format": "int32"
        },
        "stateOrganizationId": {
          "description": "The identifier assigned to an education agency by the State Education Agency (SEA).  Also known as the State LEP ID.  NEDM: IdentificationCode, LEA Identifier (State)",
          "type": "string"
        },
        "nameOfInstitution": {
          "description": "The full, legally accepted name of the institution.  NEDM: Name of Institution",
          "type": "string"
        },
        "shortNameOfInstitution": {
          "description": "A short name for the institution.",
          "type": "string"
        },
        "webSite": {
          "description": "The public web site address (URL) for the educational organization.",
          "type": "string"
        },
        "operationalStatusType": {
          "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
          "type": "string"
        },
        "type": {
          "description": "The instructional categorization of the school (e.g., Regular, Alternative)",
          "type": "string"
        },
        "charterStatusType": {
          "description": "A school or agency providing free public elementary or secondary education to eligible students under a specific charter granted by the state legislature or other appropriate authority and designated by such authority to be a charter school.",
          "type": "string"
        },
        "titleIPartASchoolDesignationType": {
          "description": "Denotes the Title I Part A designation for the school.",
          "type": "string"
        },
        "administrativeFundingControlDescriptor": {
          "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
          "type": "string"
        },
        "localEducationAgencyReference": {
          "$ref": "#/definitions/school_localEducationAgency"
        },
        "addresses": {
          "description": "An unordered collection of educationOrganizationAddresses.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/school_educationOrganizationAddress"
          }
        },
        "educationOrganizationCategories": {
          "description": "An unordered collection of educationOrganizationCategories.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/school_educationOrganizationCategory"
          }
        },
        "identificationCodes": {
          "description": "An unordered collection of educationOrganizationIdentificationCodes.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/school_educationOrganizationIdentificationCode"
          }
        },
        "institutionTelephones": {
          "description": "An unordered collection of educationOrganizationInstitutionTelephones.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/school_educationOrganizationInstitutionTelephone"
          }
        },
        "internationalAddresses": {
          "description": "An unordered collection of educationOrganizationInternationalAddresses.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/school_educationOrganizationInternationalAddress"
          }
        },
        "schoolCategories": {
          "description": "An unordered collection of schoolCategories.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/school_schoolCategory"
          }
        },
        "gradeLevels": {
          "description": "An unordered collection of schoolGradeLevels.  ",
          "type": "array",
          "items": {
            "$ref": "#/definitions/school_schoolGradeLevel"
          }
        }
      },
      "required": [
        "id",
        "schoolId",
        "stateOrganizationId",
        "nameOfInstitution",
        "shortNameOfInstitution",
        "webSite",
        "operationalStatusType",
        "type",
        "charterStatusType",
        "titleIPartASchoolDesignationType",
        "administrativeFundingControlDescriptor",
        "localEducationAgencyReference",
        "addresses",
        "educationOrganizationCategories",
        "identificationCodes",
        "institutionTelephones",
        "internationalAddresses",
        "schoolCategories",
        "gradeLevels"
      ]
    },
    "school_educationOrganizationAddress": {
      "title": "school_educationOrganizationAddress",
      "type": "object",
      "properties": {
        "addressType": {
          "description": "Key for Address",
          "type": "string"
        },
        "streetNumberName": {
          "description": "The street number and street name or post office box number of an address.",
          "type": "string"
        },
        "city": {
          "description": "The name of the city in which an address is located.",
          "type": "string"
        },
        "stateAbbreviationType": {
          "description": "The abbreviation for the state (within the United States) or outlying area in which an address is located.",
          "type": "string"
        },
        "postalCode": {
          "description": "The five or nine digit zip code or overseas postal code portion of an address.",
          "type": "string"
        },
        "nameOfCounty": {
          "description": "The name of the county, parish, borough, or comparable unit (within a state) in which an address is located.",
          "type": "string"
        }
      },
      "required": [
        "addressType",
        "streetNumberName",
        "city",
        "stateAbbreviationType",
        "postalCode",
        "nameOfCounty"
      ]
    },
    "school_educationOrganizationCategory": {
      "title": "school_educationOrganizationCategory",
      "type": "object",
      "properties": {
        "type": {
          "description": "The classification of the education agency within the geographic boundaries of a state according to the level of administrative and operational control granted by the state.  NEDM: Agency Type",
          "type": "string"
        }
      },
      "required": [
        "type"
      ]
    },
    "school_educationOrganizationIdentificationCode": {
      "title": "school_educationOrganizationIdentificationCode",
      "type": "object",
      "properties": {
        "educationOrganizationIdentificationSystemDescriptor": {
          "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
          "type": "string"
        },
        "identificationCode": {
          "description": "A unique number or alphanumeric code assigned to a space, room, site, building, individual, organization, program, or institution by a school, school system, a state, or other agency or entity.",
          "type": "string"
        }
      },
      "required": [
        "educationOrganizationIdentificationSystemDescriptor",
        "identificationCode"
      ]
    },
    "school_educationOrganizationInstitutionTelephone": {
      "title": "school_educationOrganizationInstitutionTelephone",
      "type": "object",
      "properties": {
        "institutionTelephoneNumberType": {
          "description": "Key for TelephoneNumber",
          "type": "string"
        },
        "telephoneNumber": {
          "description": "The telephone number including the area code, and extension, if applicable.",
          "type": "string"
        }
      },
      "required": [
        "institutionTelephoneNumberType",
        "telephoneNumber"
      ]
    },
    "school_educationOrganizationInternationalAddress": {
      "title": "school_educationOrganizationInternationalAddress",
      "type": "object",
      "properties": {
        "addressType": {
          "description": "Key for Address",
          "type": "string"
        },
        "addressLine1": {
          "description": "The first line of the address.",
          "type": "string"
        },
        "addressLine2": {
          "description": "The second line of the address.",
          "type": "string"
        },
        "addressLine3": {
          "description": "The third line of the address.",
          "type": "string"
        },
        "addressLine4": {
          "description": "The fourth line of the address.",
          "type": "string"
        },
        "countryDescriptor": {
          "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
          "type": "string"
        }
      },
      "required": [
        "addressType",
        "addressLine1",
        "addressLine2",
        "addressLine3",
        "addressLine4",
        "countryDescriptor"
      ]
    },
    "school_schoolCategory": {
      "title": "school_schoolCategory",
      "type": "object",
      "properties": {
        "type": {
          "description": "The one or more categories of school. For example: High School, Middle School, and/or Elementary School.",
          "type": "string"
        }
      },
      "required": [
        "type"
      ]
    },
    "school_schoolGradeLevel": {
      "title": "school_schoolGradeLevel",
      "type": "object",
      "properties": {
        "gradeLevelDescriptor": {
          "description": "The grade levels served at the school.",
          "type": "string"
        }
      },
      "required": [
        "gradeLevelDescriptor"
      ]
    },
    "school_localEducationAgency": {
      "title": "school_localEducationAgency",
      "type": "object",
      "properties": {
        "id": {
          "description": "The identifier for this resource.",
          "type": "string"
        },
        "localEducationAgencyId": {
          "description": "The identifier assigned to a local education agency by the State Education Agency (SEA).",
          "type": "integer",
          "format": "int32"
        }
      },
      "required": [
      	"id",
        "localEducationAgencyId"
      ]
    }
  }
}