Ed-Fi RFC 16 - Open API Spec

This page contains the full Open API spec listing for the proposed ED-FI RFC 16 - CORE STUDENT DATA API

Core Student Data API

{
  "swagger": "2.0",
  "info": {
    "version": "rfc16",
    "title": "Ed-Fi Core Student Data API",
    "description": "The Core Student Data API standard describes a REST API surface that covers the core data domains typically managed by student information systems in K–12 education. These standards can be used to drive analysis of student performance, both alone and in combination with data from other systems."
  },
  "basePath": "/",
  "consumes": [ "application/json" ],
  "produces": [ "application/json" ],
  "paths": {
    "/ed-fi/bellSchedules": {
      "get": {
        "tags": [ "bellSchedules" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getBellSchedules",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "bellScheduleName",
            "in": "query",
            "description": "Name or title of the BellSchedule.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_bellSchedule" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "bellSchedules" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postBellSchedule",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "bellSchedule",
            "in": "body",
            "description": "The JSON representation of the \"bellSchedule\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_bellSchedule" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/bellSchedules/{id}": {
      "get": {
        "tags": [ "bellSchedules" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getBellSchedulesById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_bellSchedule" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "bellSchedules" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putBellSchedule",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "bellSchedule",
            "in": "body",
            "description": "The JSON representation of the \"bellSchedule\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_bellSchedule" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "bellSchedules" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteBellScheduleById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/calendars": {
      "get": {
        "tags": [ "calendars" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getCalendars",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "calendarCode",
            "in": "query",
            "description": "The identifier for the Calendar.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "schoolYear",
            "in": "query",
            "description": "The identifier for the school year associated with the Calendar.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_calendar" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "calendars" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postCalendar",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "calendar",
            "in": "body",
            "description": "The JSON representation of the \"calendar\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_calendar" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/calendars/{id}": {
      "get": {
        "tags": [ "calendars" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getCalendarsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_calendar" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "calendars" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putCalendar",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "calendar",
            "in": "body",
            "description": "The JSON representation of the \"calendar\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_calendar" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "calendars" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteCalendarById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/calendarDates": {
      "get": {
        "tags": [ "calendarDates" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getCalendarDates",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "date",
            "in": "query",
            "description": "The month, day, and year of the CalendarEvent.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "calendarCode",
            "in": "query",
            "description": "The identifier for the Calendar.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "schoolYear",
            "in": "query",
            "description": "The identifier for the school year associated with the Calendar.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_calendarDate" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "calendarDates" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postCalendarDate",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "calendarDate",
            "in": "body",
            "description": "The JSON representation of the \"calendarDate\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_calendarDate" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/calendarDates/{id}": {
      "get": {
        "tags": [ "calendarDates" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getCalendarDatesById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_calendarDate" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "calendarDates" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putCalendarDate",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "calendarDate",
            "in": "body",
            "description": "The JSON representation of the \"calendarDate\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_calendarDate" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "calendarDates" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteCalendarDateById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/classPeriods": {
      "get": {
        "tags": [ "classPeriods" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getClassPeriods",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "classPeriodName",
            "in": "query",
            "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).",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_classPeriod" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "classPeriods" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postClassPeriod",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "classPeriod",
            "in": "body",
            "description": "The JSON representation of the \"classPeriod\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_classPeriod" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/classPeriods/{id}": {
      "get": {
        "tags": [ "classPeriods" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getClassPeriodsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_classPeriod" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "classPeriods" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putClassPeriod",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "classPeriod",
            "in": "body",
            "description": "The JSON representation of the \"classPeriod\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_classPeriod" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "classPeriods" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteClassPeriodById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/cohorts": {
      "get": {
        "tags": [ "cohorts" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getCohorts",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "cohortIdentifier",
            "in": "query",
            "description": "The name or ID for the Cohort.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 20
          },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_cohort" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "cohorts" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postCohort",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "cohort",
            "in": "body",
            "description": "The JSON representation of the \"cohort\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_cohort" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/cohorts/{id}": {
      "get": {
        "tags": [ "cohorts" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getCohortsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_cohort" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "cohorts" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putCohort",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "cohort",
            "in": "body",
            "description": "The JSON representation of the \"cohort\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_cohort" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "cohorts" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteCohortById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/courses": {
      "get": {
        "tags": [ "courses" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getCourses",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "courseCode",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a course.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_course" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "courses" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postCourse",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "course",
            "in": "body",
            "description": "The JSON representation of the \"course\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_course" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/courses/{id}": {
      "get": {
        "tags": [ "courses" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getCoursesById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_course" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "courses" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putCourse",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "course",
            "in": "body",
            "description": "The JSON representation of the \"course\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_course" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "courses" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteCourseById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/courseOfferings": {
      "get": {
        "tags": [ "courseOfferings" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getCourseOfferings",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "localCourseCode",
            "in": "query",
            "description": "The local code assigned by the School that identifies the course offering provided for the instruction of students.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "schoolYear",
            "in": "query",
            "description": "The identifier for the school year.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "sessionName",
            "in": "query",
            "description": "The identifier for the calendar for the academic session (e.g., 2010/11, 2011 Summer).",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_courseOffering" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "courseOfferings" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postCourseOffering",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "courseOffering",
            "in": "body",
            "description": "The JSON representation of the \"courseOffering\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_courseOffering" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/courseOfferings/{id}": {
      "get": {
        "tags": [ "courseOfferings" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getCourseOfferingsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_courseOffering" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "courseOfferings" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putCourseOffering",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "courseOffering",
            "in": "body",
            "description": "The JSON representation of the \"courseOffering\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_courseOffering" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "courseOfferings" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteCourseOfferingById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/courseTranscripts": {
      "get": {
        "tags": [ "courseTranscripts" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getCourseTranscripts",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "courseAttemptResultDescriptor",
            "in": "query",
            "description": "The result from the student's attempt to take the course, for example:          Pass          Fail          Incomplete          Withdrawn.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "courseCode",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a course.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "courseEducationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "schoolYear",
            "in": "query",
            "description": "The identifier for the school year.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "termDescriptor",
            "in": "query",
            "description": "The term for the session during the school year.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_courseTranscript" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "courseTranscripts" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postCourseTranscript",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "courseTranscript",
            "in": "body",
            "description": "The JSON representation of the \"courseTranscript\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_courseTranscript" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/courseTranscripts/{id}": {
      "get": {
        "tags": [ "courseTranscripts" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getCourseTranscriptsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_courseTranscript" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "courseTranscripts" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putCourseTranscript",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "courseTranscript",
            "in": "body",
            "description": "The JSON representation of the \"courseTranscript\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_courseTranscript" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "courseTranscripts" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteCourseTranscriptById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/disciplineActions": {
      "get": {
        "tags": [ "disciplineActions" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getDisciplineActions",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "disciplineActionIdentifier",
            "in": "query",
            "description": "Identifier assigned by the education organization to the DisciplineAction.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 20
          },
          {
            "name": "disciplineDate",
            "in": "query",
            "description": "The date of the DisciplineAction.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          }, 
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_disciplineAction" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "disciplineActions" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postDisciplineAction",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "disciplineAction",
            "in": "body",
            "description": "The JSON representation of the \"disciplineAction\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_disciplineAction" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/disciplineActions/{id}": {
      "get": {
        "tags": [ "disciplineActions" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getDisciplineActionsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_disciplineAction" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "disciplineActions" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putDisciplineAction",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "disciplineAction",
            "in": "body",
            "description": "The JSON representation of the \"disciplineAction\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_disciplineAction" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "disciplineActions" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteDisciplineActionById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/disciplineIncidents": {
      "get": {
        "tags": [ "disciplineIncidents" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getDisciplineIncidents",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "incidentIdentifier",
            "in": "query",
            "description": "A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire DisciplineIncident even if it included multiple offenses and multiple offenders.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 20
          },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_disciplineIncident" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "disciplineIncidents" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postDisciplineIncident",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "disciplineIncident",
            "in": "body",
            "description": "The JSON representation of the \"disciplineIncident\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_disciplineIncident" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/disciplineIncidents/{id}": {
      "get": {
        "tags": [ "disciplineIncidents" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getDisciplineIncidentsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_disciplineIncident" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "disciplineIncidents" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putDisciplineIncident",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "disciplineIncident",
            "in": "body",
            "description": "The JSON representation of the \"disciplineIncident\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_disciplineIncident" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "disciplineIncidents" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteDisciplineIncidentById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/grades": {
      "get": {
        "tags": [ "grades" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getGrades",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "gradeTypeDescriptor",
            "in": "query",
            "description": "The type of grade reported (e.g., Exam, Final, Grading Period).",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "gradingPeriodDescriptor",
            "in": "query",
            "description": "The name of the period for which grades are reported.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "gradingPeriodSequence",
            "in": "query",
            "description": "The sequential order of this period relative to other periods.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "gradingPeriodSchoolYear",
            "in": "query",
            "description": "The identifier for the grading period school year.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "beginDate",
            "in": "query",
            "description": "Month, day, and year of the Student's entry or assignment to the Section.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "localCourseCode",
            "in": "query",
            "description": "The local code assigned by the School that identifies the course offering provided for the instruction of students.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "schoolYear",
            "in": "query",
            "description": "The identifier for the school year.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "sectionIdentifier",
            "in": "query",
            "description": "The local identifier assigned to a section.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 255
          },
          {
            "name": "sessionName",
            "in": "query",
            "description": "The identifier for the calendar for the academic session (e.g., 2010/11, 2011 Summer).",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_grade" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "grades" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postGrade",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "grade",
            "in": "body",
            "description": "The JSON representation of the \"grade\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_grade" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/grades/{id}": {
      "get": {
        "tags": [ "grades" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getGradesById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_grade" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "grades" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putGrade",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "grade",
            "in": "body",
            "description": "The JSON representation of the \"grade\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_grade" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "grades" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteGradeById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/gradingPeriods": {
      "get": {
        "tags": [ "gradingPeriods" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getGradingPeriods",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "gradingPeriodDescriptor",
            "in": "query",
            "description": "The name of the period for which grades are reported.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "periodSequence",
            "in": "query",
            "description": "The sequential order of this period relative to other periods.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "schoolYear",
            "in": "query",
            "description": "The identifier for the grading period school year.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_gradingPeriod" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "gradingPeriods" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postGradingPeriod",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "gradingPeriod",
            "in": "body",
            "description": "The JSON representation of the \"gradingPeriod\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_gradingPeriod" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/gradingPeriods/{id}": {
      "get": {
        "tags": [ "gradingPeriods" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getGradingPeriodsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_gradingPeriod" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "gradingPeriods" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putGradingPeriod",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "gradingPeriod",
            "in": "body",
            "description": "The JSON representation of the \"gradingPeriod\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_gradingPeriod" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "gradingPeriods" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteGradingPeriodById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/graduationPlans": {
      "get": {
        "tags": [ "graduationPlans" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getGraduationPlans",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "graduationPlanTypeDescriptor",
            "in": "query",
            "description": "The type of academic plan the student is following for graduation: for example, Minimum, Recommended, Distinguished, or Standard.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "graduationSchoolYear",
            "in": "query",
            "description": "The school year the student is expected to graduate.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_graduationPlan" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "graduationPlans" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postGraduationPlan",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "graduationPlan",
            "in": "body",
            "description": "The JSON representation of the \"graduationPlan\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_graduationPlan" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/graduationPlans/{id}": {
      "get": {
        "tags": [ "graduationPlans" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getGraduationPlansById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_graduationPlan" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "graduationPlans" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putGraduationPlan",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "graduationPlan",
            "in": "body",
            "description": "The JSON representation of the \"graduationPlan\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_graduationPlan" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "graduationPlans" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteGraduationPlanById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/localEducationAgencies": {
      "get": {
        "tags": [ "localEducationAgencies" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getLocalEducationAgencies",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "localEducationAgencyId",
            "in": "query",
            "description": "The identifier assigned to a local education agency.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_localEducationAgency" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "localEducationAgencies" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postLocalEducationAgency",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "localEducationAgency",
            "in": "body",
            "description": "The JSON representation of the \"localEducationAgency\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_localEducationAgency" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/localEducationAgencies/{id}": {
      "get": {
        "tags": [ "localEducationAgencies" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getLocalEducationAgenciesById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_localEducationAgency" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "localEducationAgencies" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putLocalEducationAgency",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "localEducationAgency",
            "in": "body",
            "description": "The JSON representation of the \"localEducationAgency\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_localEducationAgency" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "localEducationAgencies" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteLocalEducationAgencyById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/locations": {
      "get": {
        "tags": [ "locations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getLocations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "classroomIdentificationCode",
            "in": "query",
            "description": "A unique number or alphanumeric code assigned to a room by a school, school system, state, or other agency or entity.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 20
          },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_location" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "locations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postLocation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "location",
            "in": "body",
            "description": "The JSON representation of the \"location\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_location" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/locations/{id}": {
      "get": {
        "tags": [ "locations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getLocationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_location" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "locations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putLocation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "location",
            "in": "body",
            "description": "The JSON representation of the \"location\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_location" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "locations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteLocationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/parents": {
      "get": {
        "tags": [ "parents" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getParents",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "parentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a parent.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_parent" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "parents" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postParent",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "parent",
            "in": "body",
            "description": "The JSON representation of the \"parent\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_parent" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/parents/{id}": {
      "get": {
        "tags": [ "parents" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getParentsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_parent" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "parents" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putParent",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "parent",
            "in": "body",
            "description": "The JSON representation of the \"parent\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_parent" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "parents" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteParentById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/programs": {
      "get": {
        "tags": [ "programs" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getPrograms",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "programTypeDescriptor",
            "in": "query",
            "description": "The type of program.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "programName",
            "in": "query",
            "description": "The formal name of the Program of instruction, training, services, or benefits available through federal, state, or local agencies.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_program" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "programs" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postProgram",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "program",
            "in": "body",
            "description": "The JSON representation of the \"program\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_program" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/programs/{id}": {
      "get": {
        "tags": [ "programs" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getProgramsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_program" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "programs" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putProgram",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "program",
            "in": "body",
            "description": "The JSON representation of the \"program\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_program" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "programs" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteProgramById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/schools": {
      "get": {
        "tags": [ "schools" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getSchools",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_school" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "schools" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postSchool",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "school",
            "in": "body",
            "description": "The JSON representation of the \"school\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_school" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/schools/{id}": {
      "get": {
        "tags": [ "schools" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getSchoolsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_school" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "schools" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putSchool",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "school",
            "in": "body",
            "description": "The JSON representation of the \"school\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_school" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "schools" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteSchoolById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/schoolYearTypes": {
      "get": {
        "tags": [ "schoolYearTypes" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getSchoolYearTypes",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "schoolYear",
            "in": "query",
            "description": "Key for School Year",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_schoolYearType" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "schoolYearTypes" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postSchoolYearType",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "schoolYearType",
            "in": "body",
            "description": "The JSON representation of the \"schoolYearType\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_schoolYearType" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/schoolYearTypes/{id}": {
      "get": {
        "tags": [ "schoolYearTypes" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getSchoolYearTypesById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_schoolYearType" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "schoolYearTypes" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putSchoolYearType",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "schoolYearType",
            "in": "body",
            "description": "The JSON representation of the \"schoolYearType\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_schoolYearType" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "schoolYearTypes" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteSchoolYearTypeById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/sections": {
      "get": {
        "tags": [ "sections" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getSections",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "sectionIdentifier",
            "in": "query",
            "description": "The local identifier assigned to a section.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 255
          },
          {
            "name": "localCourseCode",
            "in": "query",
            "description": "The local code assigned by the School that identifies the course offering provided for the instruction of students.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "schoolYear",
            "in": "query",
            "description": "The identifier for the school year.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "sessionName",
            "in": "query",
            "description": "The identifier for the calendar for the academic session (e.g., 2010/11, 2011 Summer).",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_section" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "sections" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postSection",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "section",
            "in": "body",
            "description": "The JSON representation of the \"section\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_section" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/sections/{id}": {
      "get": {
        "tags": [ "sections" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getSectionsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_section" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "sections" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putSection",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "section",
            "in": "body",
            "description": "The JSON representation of the \"section\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_section" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "sections" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteSectionById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/sessions": {
      "get": {
        "tags": [ "sessions" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getSessions",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "sessionName",
            "in": "query",
            "description": "The identifier for the calendar for the academic session (e.g., 2010/11, 2011 Summer).",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "schoolYear",
            "in": "query",
            "description": "The identifier for the school year.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_session" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "sessions" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postSession",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "session",
            "in": "body",
            "description": "The JSON representation of the \"session\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_session" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/sessions/{id}": {
      "get": {
        "tags": [ "sessions" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getSessionsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_session" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "sessions" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putSession",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "session",
            "in": "body",
            "description": "The JSON representation of the \"session\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_session" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "sessions" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteSessionById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/staffs": {
      "get": {
        "tags": [ "staffs" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStaffs",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "staffUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a staff.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_staff" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "staffs" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStaff",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "staff",
            "in": "body",
            "description": "The JSON representation of the \"staff\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_staff" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/staffs/{id}": {
      "get": {
        "tags": [ "staffs" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStaffsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_staff" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "staffs" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStaff",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "staff",
            "in": "body",
            "description": "The JSON representation of the \"staff\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_staff" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "staffs" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStaffById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/staffCohortAssociations": {
      "get": {
        "tags": [ "staffCohortAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStaffCohortAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "beginDate",
            "in": "query",
            "description": "Start date for the association of staff to this cohort.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "cohortIdentifier",
            "in": "query",
            "description": "The name or ID for the Cohort.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 20
          },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "staffUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a staff.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_staffCohortAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "staffCohortAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStaffCohortAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "staffCohortAssociation",
            "in": "body",
            "description": "The JSON representation of the \"staffCohortAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_staffCohortAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/staffCohortAssociations/{id}": {
      "get": {
        "tags": [ "staffCohortAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStaffCohortAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_staffCohortAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "staffCohortAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStaffCohortAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "staffCohortAssociation",
            "in": "body",
            "description": "The JSON representation of the \"staffCohortAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_staffCohortAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "staffCohortAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStaffCohortAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/staffEducationOrganizationAssignmentAssociations": {
      "get": {
        "tags": [ "staffEducationOrganizationAssignmentAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStaffEducationOrganizationAssignmentAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "staffClassificationDescriptor",
            "in": "query",
            "description": "The titles of employment, official status, or rank of education staff.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "beginDate",
            "in": "query",
            "description": "Month, day, and year of the start or effective date of a staff member's employment, contract, or relationship with the LEA.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "staffUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a staff.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_staffEducationOrganizationAssignmentAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "staffEducationOrganizationAssignmentAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStaffEducationOrganizationAssignmentAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "staffEducationOrganizationAssignmentAssociation",
            "in": "body",
            "description": "The JSON representation of the \"staffEducationOrganizationAssignmentAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_staffEducationOrganizationAssignmentAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/staffEducationOrganizationAssignmentAssociations/{id}": {
      "get": {
        "tags": [ "staffEducationOrganizationAssignmentAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStaffEducationOrganizationAssignmentAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_staffEducationOrganizationAssignmentAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "staffEducationOrganizationAssignmentAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStaffEducationOrganizationAssignmentAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "staffEducationOrganizationAssignmentAssociation",
            "in": "body",
            "description": "The JSON representation of the \"staffEducationOrganizationAssignmentAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_staffEducationOrganizationAssignmentAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "staffEducationOrganizationAssignmentAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStaffEducationOrganizationAssignmentAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/staffSchoolAssociations": {
      "get": {
        "tags": [ "staffSchoolAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStaffSchoolAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "programAssignmentDescriptor",
            "in": "query",
            "description": "The name of the program for which the individual is assigned; for example:          Regular education          Title I-Academic          Title I-Non-Academic          Special Education          Bilingual/English as a Second Language.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "staffUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a staff.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_staffSchoolAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "staffSchoolAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStaffSchoolAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "staffSchoolAssociation",
            "in": "body",
            "description": "The JSON representation of the \"staffSchoolAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_staffSchoolAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/staffSchoolAssociations/{id}": {
      "get": {
        "tags": [ "staffSchoolAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStaffSchoolAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_staffSchoolAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "staffSchoolAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStaffSchoolAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "staffSchoolAssociation",
            "in": "body",
            "description": "The JSON representation of the \"staffSchoolAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_staffSchoolAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "staffSchoolAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStaffSchoolAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/staffSectionAssociations": {
      "get": {
        "tags": [ "staffSectionAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStaffSectionAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "localCourseCode",
            "in": "query",
            "description": "The local code assigned by the School that identifies the course offering provided for the instruction of students.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "schoolYear",
            "in": "query",
            "description": "The identifier for the school year.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "sectionIdentifier",
            "in": "query",
            "description": "The local identifier assigned to a section.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 255
          },
          {
            "name": "sessionName",
            "in": "query",
            "description": "The identifier for the calendar for the academic session (e.g., 2010/11, 2011 Summer).",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "staffUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a staff.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_staffSectionAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "staffSectionAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStaffSectionAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "staffSectionAssociation",
            "in": "body",
            "description": "The JSON representation of the \"staffSectionAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_staffSectionAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/staffSectionAssociations/{id}": {
      "get": {
        "tags": [ "staffSectionAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStaffSectionAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_staffSectionAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "staffSectionAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStaffSectionAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "staffSectionAssociation",
            "in": "body",
            "description": "The JSON representation of the \"staffSectionAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_staffSectionAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "staffSectionAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStaffSectionAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/students": {
      "get": {
        "tags": [ "students" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudents",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_student" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "students" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudent",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "student",
            "in": "body",
            "description": "The JSON representation of the \"student\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_student" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/students/{id}": {
      "get": {
        "tags": [ "students" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_student" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "students" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudent",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "student",
            "in": "body",
            "description": "The JSON representation of the \"student\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_student" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "students" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentAcademicRecords": {
      "get": {
        "tags": [ "studentAcademicRecords" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudentAcademicRecords",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "termDescriptor",
            "in": "query",
            "description": "The term for the session during the school year.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "schoolYear",
            "in": "query",
            "description": "The identifier for the school year.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_studentAcademicRecord" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "studentAcademicRecords" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudentAcademicRecord",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "studentAcademicRecord",
            "in": "body",
            "description": "The JSON representation of the \"studentAcademicRecord\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentAcademicRecord" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentAcademicRecords/{id}": {
      "get": {
        "tags": [ "studentAcademicRecords" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentAcademicRecordsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_studentAcademicRecord" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "studentAcademicRecords" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudentAcademicRecord",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "studentAcademicRecord",
            "in": "body",
            "description": "The JSON representation of the \"studentAcademicRecord\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentAcademicRecord" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "studentAcademicRecords" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentAcademicRecordById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentCohortAssociations": {
      "get": {
        "tags": [ "studentCohortAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudentCohortAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "beginDate",
            "in": "query",
            "description": "The month, day, and year on which the Student was first identified as part of the Cohort.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "cohortIdentifier",
            "in": "query",
            "description": "The name or ID for the Cohort.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 20
          },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_studentCohortAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "studentCohortAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudentCohortAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "studentCohortAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentCohortAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentCohortAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentCohortAssociations/{id}": {
      "get": {
        "tags": [ "studentCohortAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentCohortAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_studentCohortAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "studentCohortAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudentCohortAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "studentCohortAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentCohortAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentCohortAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "studentCohortAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentCohortAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentCTEProgramAssociations": {
      "get": {
        "tags": [ "studentCTEProgramAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudentCTEProgramAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "beginDate",
            "in": "query",
            "description": "The month, day, and year on which the Student first received services.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "programEducationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "programName",
            "in": "query",
            "description": "The formal name of the Program of instruction, training, services, or benefits available through federal, state, or local agencies.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "programTypeDescriptor",
            "in": "query",
            "description": "The type of program.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_studentCTEProgramAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "studentCTEProgramAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudentCTEProgramAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "studentCTEProgramAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentCTEProgramAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentCTEProgramAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentCTEProgramAssociations/{id}": {
      "get": {
        "tags": [ "studentCTEProgramAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentCTEProgramAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_studentCTEProgramAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "studentCTEProgramAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudentCTEProgramAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "studentCTEProgramAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentCTEProgramAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentCTEProgramAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "studentCTEProgramAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentCTEProgramAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentDisciplineIncidentAssociations": {
      "get": {
        "tags": [ "studentDisciplineIncidentAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudentDisciplineIncidentAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "incidentIdentifier",
            "in": "query",
            "description": "A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire DisciplineIncident even if it included multiple offenses and multiple offenders.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 20
          },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_studentDisciplineIncidentAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "studentDisciplineIncidentAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudentDisciplineIncidentAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "studentDisciplineIncidentAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentDisciplineIncidentAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentDisciplineIncidentAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentDisciplineIncidentAssociations/{id}": {
      "get": {
        "tags": [ "studentDisciplineIncidentAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentDisciplineIncidentAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_studentDisciplineIncidentAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "studentDisciplineIncidentAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudentDisciplineIncidentAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "studentDisciplineIncidentAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentDisciplineIncidentAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentDisciplineIncidentAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "studentDisciplineIncidentAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentDisciplineIncidentAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentEducationOrganizationAssociations": {
      "get": {
        "tags": [ "studentEducationOrganizationAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudentEducationOrganizationAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "studentEducationOrganizationAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudentEducationOrganizationAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "studentEducationOrganizationAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentEducationOrganizationAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentEducationOrganizationAssociations/{id}": {
      "get": {
        "tags": [ "studentEducationOrganizationAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentEducationOrganizationAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "studentEducationOrganizationAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudentEducationOrganizationAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "studentEducationOrganizationAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentEducationOrganizationAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "studentEducationOrganizationAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentEducationOrganizationAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentHomelessProgramAssociations": {
      "get": {
        "tags": [ "studentHomelessProgramAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudentHomelessProgramAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "beginDate",
            "in": "query",
            "description": "The month, day, and year on which the Student first received services.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "programEducationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "programName",
            "in": "query",
            "description": "The formal name of the Program of instruction, training, services, or benefits available through federal, state, or local agencies.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "programTypeDescriptor",
            "in": "query",
            "description": "The type of program.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_studentHomelessProgramAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "studentHomelessProgramAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudentHomelessProgramAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "studentHomelessProgramAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentHomelessProgramAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentHomelessProgramAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentHomelessProgramAssociations/{id}": {
      "get": {
        "tags": [ "studentHomelessProgramAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentHomelessProgramAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_studentHomelessProgramAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "studentHomelessProgramAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudentHomelessProgramAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "studentHomelessProgramAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentHomelessProgramAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentHomelessProgramAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "studentHomelessProgramAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentHomelessProgramAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentLanguageInstructionProgramAssociations": {
      "get": {
        "tags": [ "studentLanguageInstructionProgramAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudentLanguageInstructionProgramAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "beginDate",
            "in": "query",
            "description": "The month, day, and year on which the Student first received services.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "programEducationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "programName",
            "in": "query",
            "description": "The formal name of the Program of instruction, training, services, or benefits available through federal, state, or local agencies.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "programTypeDescriptor",
            "in": "query",
            "description": "The type of program.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_studentLanguageInstructionProgramAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "studentLanguageInstructionProgramAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudentLanguageInstructionProgramAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "studentLanguageInstructionProgramAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentLanguageInstructionProgramAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentLanguageInstructionProgramAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentLanguageInstructionProgramAssociations/{id}": {
      "get": {
        "tags": [ "studentLanguageInstructionProgramAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentLanguageInstructionProgramAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_studentLanguageInstructionProgramAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "studentLanguageInstructionProgramAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudentLanguageInstructionProgramAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "studentLanguageInstructionProgramAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentLanguageInstructionProgramAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentLanguageInstructionProgramAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "studentLanguageInstructionProgramAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentLanguageInstructionProgramAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentMigrantEducationProgramAssociations": {
      "get": {
        "tags": [ "studentMigrantEducationProgramAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudentMigrantEducationProgramAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "beginDate",
            "in": "query",
            "description": "The month, day, and year on which the Student first received services.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "programEducationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "programName",
            "in": "query",
            "description": "The formal name of the Program of instruction, training, services, or benefits available through federal, state, or local agencies.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "programTypeDescriptor",
            "in": "query",
            "description": "The type of program.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_studentMigrantEducationProgramAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "studentMigrantEducationProgramAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudentMigrantEducationProgramAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "studentMigrantEducationProgramAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentMigrantEducationProgramAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentMigrantEducationProgramAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentMigrantEducationProgramAssociations/{id}": {
      "get": {
        "tags": [ "studentMigrantEducationProgramAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentMigrantEducationProgramAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_studentMigrantEducationProgramAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "studentMigrantEducationProgramAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudentMigrantEducationProgramAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "studentMigrantEducationProgramAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentMigrantEducationProgramAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentMigrantEducationProgramAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "studentMigrantEducationProgramAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentMigrantEducationProgramAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentNeglectedOrDelinquentProgramAssociations": {
      "get": {
        "tags": [ "studentNeglectedOrDelinquentProgramAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudentNeglectedOrDelinquentProgramAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "beginDate",
            "in": "query",
            "description": "The month, day, and year on which the Student first received services.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "programEducationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "programName",
            "in": "query",
            "description": "The formal name of the Program of instruction, training, services, or benefits available through federal, state, or local agencies.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "programTypeDescriptor",
            "in": "query",
            "description": "The type of program.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_studentNeglectedOrDelinquentProgramAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "studentNeglectedOrDelinquentProgramAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudentNeglectedOrDelinquentProgramAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "studentNeglectedOrDelinquentProgramAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentNeglectedOrDelinquentProgramAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentNeglectedOrDelinquentProgramAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentNeglectedOrDelinquentProgramAssociations/{id}": {
      "get": {
        "tags": [ "studentNeglectedOrDelinquentProgramAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentNeglectedOrDelinquentProgramAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_studentNeglectedOrDelinquentProgramAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "studentNeglectedOrDelinquentProgramAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudentNeglectedOrDelinquentProgramAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "studentNeglectedOrDelinquentProgramAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentNeglectedOrDelinquentProgramAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentNeglectedOrDelinquentProgramAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "studentNeglectedOrDelinquentProgramAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentNeglectedOrDelinquentProgramAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentParentAssociations": {
      "get": {
        "tags": [ "studentParentAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudentParentAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "parentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a parent.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_studentParentAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "studentParentAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudentParentAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "studentParentAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentParentAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentParentAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentParentAssociations/{id}": {
      "get": {
        "tags": [ "studentParentAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentParentAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_studentParentAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "studentParentAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudentParentAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "studentParentAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentParentAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentParentAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "studentParentAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentParentAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentProgramAssociations": {
      "get": {
        "tags": [ "studentProgramAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudentProgramAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "beginDate",
            "in": "query",
            "description": "The month, day, and year on which the Student first received services.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "programEducationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "programName",
            "in": "query",
            "description": "The formal name of the Program of instruction, training, services, or benefits available through federal, state, or local agencies.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "programTypeDescriptor",
            "in": "query",
            "description": "The type of program.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_studentProgramAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "studentProgramAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudentProgramAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "studentProgramAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentProgramAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentProgramAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentProgramAssociations/{id}": {
      "get": {
        "tags": [ "studentProgramAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentProgramAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_studentProgramAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "studentProgramAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudentProgramAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "studentProgramAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentProgramAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentProgramAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "studentProgramAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentProgramAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentSchoolAssociations": {
      "get": {
        "tags": [ "studentSchoolAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudentSchoolAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "entryDate",
            "in": "query",
            "description": "The month, day, and year on which an individual enters and begins to receive instructional services in a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_studentSchoolAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "studentSchoolAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudentSchoolAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "studentSchoolAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentSchoolAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentSchoolAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentSchoolAssociations/{id}": {
      "get": {
        "tags": [ "studentSchoolAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentSchoolAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_studentSchoolAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "studentSchoolAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudentSchoolAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "studentSchoolAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentSchoolAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentSchoolAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "studentSchoolAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentSchoolAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentSchoolAttendanceEvents": {
      "get": {
        "tags": [ "studentSchoolAttendanceEvents" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudentSchoolAttendanceEvents",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "attendanceEventCategoryDescriptor",
            "in": "query",
            "description": "A code describing the attendance event, for example:          Present          Unexcused absence          Excused absence          Tardy.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "eventDate",
            "in": "query",
            "description": "Date for this attendance event.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "schoolYear",
            "in": "query",
            "description": "The identifier for the school year.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "sessionName",
            "in": "query",
            "description": "The identifier for the calendar for the academic session (e.g., 2010/11, 2011 Summer).",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_studentSchoolAttendanceEvent" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "studentSchoolAttendanceEvents" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudentSchoolAttendanceEvent",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "studentSchoolAttendanceEvent",
            "in": "body",
            "description": "The JSON representation of the \"studentSchoolAttendanceEvent\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentSchoolAttendanceEvent" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentSchoolAttendanceEvents/{id}": {
      "get": {
        "tags": [ "studentSchoolAttendanceEvents" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentSchoolAttendanceEventsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_studentSchoolAttendanceEvent" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "studentSchoolAttendanceEvents" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudentSchoolAttendanceEvent",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "studentSchoolAttendanceEvent",
            "in": "body",
            "description": "The JSON representation of the \"studentSchoolAttendanceEvent\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentSchoolAttendanceEvent" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "studentSchoolAttendanceEvents" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentSchoolAttendanceEventById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentSchoolFoodServiceProgramAssociations": {
      "get": {
        "tags": [ "studentSchoolFoodServiceProgramAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudentSchoolFoodServiceProgramAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "beginDate",
            "in": "query",
            "description": "The month, day, and year on which the Student first received services.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "programEducationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "programName",
            "in": "query",
            "description": "The formal name of the Program of instruction, training, services, or benefits available through federal, state, or local agencies.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "programTypeDescriptor",
            "in": "query",
            "description": "The type of program.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_studentSchoolFoodServiceProgramAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "studentSchoolFoodServiceProgramAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudentSchoolFoodServiceProgramAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "studentSchoolFoodServiceProgramAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentSchoolFoodServiceProgramAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentSchoolFoodServiceProgramAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentSchoolFoodServiceProgramAssociations/{id}": {
      "get": {
        "tags": [ "studentSchoolFoodServiceProgramAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentSchoolFoodServiceProgramAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_studentSchoolFoodServiceProgramAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "studentSchoolFoodServiceProgramAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudentSchoolFoodServiceProgramAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "studentSchoolFoodServiceProgramAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentSchoolFoodServiceProgramAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentSchoolFoodServiceProgramAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "studentSchoolFoodServiceProgramAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentSchoolFoodServiceProgramAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentSectionAssociations": {
      "get": {
        "tags": [ "studentSectionAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudentSectionAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "beginDate",
            "in": "query",
            "description": "Month, day, and year of the Student's entry or assignment to the Section.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "localCourseCode",
            "in": "query",
            "description": "The local code assigned by the School that identifies the course offering provided for the instruction of students.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "schoolYear",
            "in": "query",
            "description": "The identifier for the school year.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "sectionIdentifier",
            "in": "query",
            "description": "The local identifier assigned to a section.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 255
          },
          {
            "name": "sessionName",
            "in": "query",
            "description": "The identifier for the calendar for the academic session (e.g., 2010/11, 2011 Summer).",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_studentSectionAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "studentSectionAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudentSectionAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "studentSectionAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentSectionAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentSectionAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentSectionAssociations/{id}": {
      "get": {
        "tags": [ "studentSectionAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentSectionAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_studentSectionAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "studentSectionAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudentSectionAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "studentSectionAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentSectionAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentSectionAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "studentSectionAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentSectionAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentSectionAttendanceEvents": {
      "get": {
        "tags": [ "studentSectionAttendanceEvents" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudentSectionAttendanceEvents",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "attendanceEventCategoryDescriptor",
            "in": "query",
            "description": "A code describing the attendance event, for example:          Present          Unexcused absence          Excused absence          Tardy.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "eventDate",
            "in": "query",
            "description": "Date for this attendance event.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "localCourseCode",
            "in": "query",
            "description": "The local code assigned by the School that identifies the course offering provided for the instruction of students.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "schoolId",
            "in": "query",
            "description": "The identifier assigned to a school.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "schoolYear",
            "in": "query",
            "description": "The identifier for the school year.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "sectionIdentifier",
            "in": "query",
            "description": "The local identifier assigned to a section.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 255
          },
          {
            "name": "sessionName",
            "in": "query",
            "description": "The identifier for the calendar for the academic session (e.g., 2010/11, 2011 Summer).",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_studentSectionAttendanceEvent" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "studentSectionAttendanceEvents" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudentSectionAttendanceEvent",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "studentSectionAttendanceEvent",
            "in": "body",
            "description": "The JSON representation of the \"studentSectionAttendanceEvent\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentSectionAttendanceEvent" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentSectionAttendanceEvents/{id}": {
      "get": {
        "tags": [ "studentSectionAttendanceEvents" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentSectionAttendanceEventsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_studentSectionAttendanceEvent" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "studentSectionAttendanceEvents" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudentSectionAttendanceEvent",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "studentSectionAttendanceEvent",
            "in": "body",
            "description": "The JSON representation of the \"studentSectionAttendanceEvent\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentSectionAttendanceEvent" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "studentSectionAttendanceEvents" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentSectionAttendanceEventById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentSpecialEducationProgramAssociations": {
      "get": {
        "tags": [ "studentSpecialEducationProgramAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudentSpecialEducationProgramAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "beginDate",
            "in": "query",
            "description": "The month, day, and year on which the Student first received services.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "programEducationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "programName",
            "in": "query",
            "description": "The formal name of the Program of instruction, training, services, or benefits available through federal, state, or local agencies.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "programTypeDescriptor",
            "in": "query",
            "description": "The type of program.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_studentSpecialEducationProgramAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "studentSpecialEducationProgramAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudentSpecialEducationProgramAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "studentSpecialEducationProgramAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentSpecialEducationProgramAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentSpecialEducationProgramAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentSpecialEducationProgramAssociations/{id}": {
      "get": {
        "tags": [ "studentSpecialEducationProgramAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentSpecialEducationProgramAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_studentSpecialEducationProgramAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "studentSpecialEducationProgramAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudentSpecialEducationProgramAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "studentSpecialEducationProgramAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentSpecialEducationProgramAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentSpecialEducationProgramAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "studentSpecialEducationProgramAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentSpecialEducationProgramAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentTitleIPartAProgramAssociations": {
      "get": {
        "tags": [ "studentTitleIPartAProgramAssociations" ],
        "summary": "Retrieves specific resources using the resource's property values (using the \"Get\" pattern).",
        "description": "This GET operation provides access to resources using the \"Get\" search pattern.  The values of any properties of the resource that are specified will be used to return all matching results (if it exists).",
        "operationId": "getStudentTitleIPartAProgramAssociations",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/offset" },
          { "$ref": "#/parameters/limit" },
          {
            "name": "beginDate",
            "in": "query",
            "description": "The month, day, and year on which the Student first received services.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "educationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "programEducationOrganizationId",
            "in": "query",
            "description": "The identifier assigned to an education organization.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "programName",
            "in": "query",
            "description": "The formal name of the Program of instruction, training, services, or benefits available through federal, state, or local agencies.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 60
          },
          {
            "name": "programTypeDescriptor",
            "in": "query",
            "description": "The type of program.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 306
          },
          {
            "name": "studentUniqueId",
            "in": "query",
            "description": "A unique alphanumeric code assigned to a student.",
            "required": false,
            "x-Ed-Fi-isIdentity": true,
            "type": "string",
            "maxLength": 32
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": {
              "type": "array",
              "items": { "$ref": "#/definitions/edFi_studentTitleIPartAProgramAssociation" }
            }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "post": {
        "tags": [ "studentTitleIPartAProgramAssociations" ],
        "summary": "Creates or updates resources based on the natural key values of the supplied resource.",
        "description": "The POST operation can be used to create or update resources. In database terms, this is often referred to as an \"upsert\" operation (insert + update). Clients should NOT include the resource \"id\" in the JSON body because it will result in an error (you must use a PUT operation to update a resource by \"id\"). The web service will identify whether the resource already exists based on the natural key values provided, and update or create the resource appropriately.",
        "operationId": "postStudentTitleIPartAProgramAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          {
            "name": "studentTitleIPartAProgramAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentTitleIPartAProgramAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentTitleIPartAProgramAssociation" }
          }
        ],
        "responses": {
          "201": { "$ref": "#/responses/Created" },
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    },
    "/ed-fi/studentTitleIPartAProgramAssociations/{id}": {
      "get": {
        "tags": [ "studentTitleIPartAProgramAssociations" ],
        "summary": "Retrieves a specific resource using the resource's identifier (using the \"Get By Id\" pattern).",
        "description": "This GET operation retrieves a resource by the specified resource identifier.",
        "operationId": "getStudentTitleIPartAProgramAssociationsById",
        "produces": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          { "$ref": "#/parameters/If-None-Match" }
        ],
        "responses": {
          "200": {
            "description": "The requested resource was successfully retrieved.",
            "schema": { "$ref": "#/definitions/edFi_studentTitleIPartAProgramAssociation" }
          },
          "304": { "$ref": "#/responses/NotModified" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "put": {
        "tags": [ "studentTitleIPartAProgramAssociations" ],
        "summary": "Updates or creates a resource based on the resource identifier.",
        "description": "The PUT operation is used to update or create a resource by identifier. If the resource doesn't exist, the resource will be created using that identifier. Additionally, natural key values cannot be changed using this operation, and will not be modified in the database.  If the resource \"id\" is provided in the JSON body, it will be ignored as well.",
        "operationId": "putStudentTitleIPartAProgramAssociation",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the PUT from updating a resource modified by another consumer.",
            "type": "string"
          },
          {
            "name": "studentTitleIPartAProgramAssociation",
            "in": "body",
            "description": "The JSON representation of the \"studentTitleIPartAProgramAssociation\" resource to be created or updated.",
            "required": true,
            "schema": { "$ref": "#/definitions/edFi_studentTitleIPartAProgramAssociation" }
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Updated" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      },
      "delete": {
        "tags": [ "studentTitleIPartAProgramAssociations" ],
        "summary": "Deletes an existing resource using the resource identifier.",
        "description": "The DELETE operation is used to delete an existing resource by identifier. If the resource doesn't exist, an error will result (the resource will not be found).",
        "operationId": "deleteStudentTitleIPartAProgramAssociationById",
        "consumes": [ "application/json" ],
        "parameters": [
          { "$ref": "#/parameters/id" },
          {
            "name": "If-Match",
            "in": "header",
            "description": "The ETag header value used to prevent the DELETE from removing a resource modified by another consumer.",
            "type": "string"
          }
        ],
        "responses": {
          "204": { "$ref": "#/responses/Deleted" },
          "400": { "$ref": "#/responses/BadRequest" },
          "401": { "$ref": "#/responses/Unauthorized" },
          "403": { "$ref": "#/responses/Forbidden" },
          "404": { "$ref": "#/responses/NotFound" },
          "409": { "$ref": "#/responses/Conflict" },
          "412": { "$ref": "#/responses/PreconditionFailed" },
          "500": { "$ref": "#/responses/Error" }
        }
      }
    }
  },
  "definitions": {
    "edFi_bellSchedule": {
      "required": [ "bellScheduleName", "alternateDayName", "id", "classPeriods", "dates", "schoolReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "bellScheduleName": {
          "description": "Name or title of the BellSchedule.",
          "maxLength": 60,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "classPeriods": {
          "description": "An unordered collection of bellScheduleClassPeriods. The class periods that compose this BellSchedule.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_bellScheduleClassPeriod" }
        },
        "dates": {
          "description": "An unordered collection of bellScheduleDates. The dates for which the BellSchedule applies.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_bellScheduleDate" }
        },
        "schoolReference": { "$ref": "#/definitions/edFi_schoolReference" },
        "alternateDayName": {
          "description": "An alternate name for the day (e.g., Red, Blue).",
          "maxLength": 20,
          "type": "string"
        },
        "gradeLevels": {
          "description": "An unordered collection of bellScheduleGradeLevels. The grade levels the particular BellSchedule applies to.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_bellScheduleGradeLevel" }
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_bellScheduleClassPeriod": {
      "required": [ "classPeriodReference" ],
      "type": "object",
      "properties": { "classPeriodReference": { "$ref": "#/definitions/edFi_classPeriodReference" } }
    },
    "edFi_bellScheduleDate": {
      "required": [ "date" ],
      "type": "object",
      "properties": {
        "date": {
          "format": "date-time",
          "description": "The dates for which the BellSchedule applies.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_bellScheduleGradeLevel": {
      "required": [ "gradeLevelDescriptor" ],
      "type": "object",
      "properties": {
        "gradeLevelDescriptor": {
          "description": "The grade levels the particular BellSchedule applies to.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_calendar": {
      "required": [ "calendarCode", "calendarTypeDescriptor", "id", "schoolReference", "schoolYearTypeReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "calendarCode": {
          "description": "The identifier for the Calendar.",
          "maxLength": 60,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "schoolReference": { "$ref": "#/definitions/edFi_schoolReference" },
        "schoolYearTypeReference": { "$ref": "#/definitions/edFi_schoolYearTypeReference" },
        "calendarTypeDescriptor": {
          "description": "Indicates the type of Calendar.",
          "maxLength": 306,
          "type": "string"
        },
        "gradeLevels": {
          "description": "An unordered collection of calendarGradeLevels. Indicates the GradeLevel associated with the Calendar.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_calendarGradeLevel" }
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_calendarDate": {
      "required": [ "date", "id", "calendarEvents", "calendarReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "calendarEvents": {
          "description": "An unordered collection of calendarDateCalendarEvents. The type of scheduled or unscheduled event for the day.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_calendarDateCalendarEvent" }
        },
        "date": {
          "format": "date-time",
          "description": "The month, day, and year of the CalendarEvent.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "calendarReference": { "$ref": "#/definitions/edFi_calendarReference" },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_calendarDateCalendarEvent": {
      "required": [ "calendarEventDescriptor" ],
      "type": "object",
      "properties": {
        "calendarEventDescriptor": {
          "description": "The type of scheduled or unscheduled event for the day.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_calendarGradeLevel": {
      "required": [ "gradeLevelDescriptor" ],
      "type": "object",
      "properties": {
        "gradeLevelDescriptor": {
          "description": "Indicates the GradeLevel associated with the Calendar.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_calendarReference": {
      "required": [ "calendarCode", "schoolId", "schoolYear" ],
      "type": "object",
      "properties": {
        "calendarCode": {
          "description": "The identifier for the Calendar.",
          "maxLength": 60,
          "type": "string"
        },
        "schoolId": {
          "format": "int32",
          "description": "The identifier assigned to a school.",
          "type": "integer"
        },
        "schoolYear": {
          "format": "int32",
          "description": "The identifier for the school year associated with the Calendar.",
          "type": "integer"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_classPeriod": {
      "required": [ "classPeriodName", "id", "schoolReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "classPeriodName": {
          "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).",
          "maxLength": 60,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "schoolReference": { "$ref": "#/definitions/edFi_schoolReference" },
        "meetingTimes": {
          "description": "An unordered collection of classPeriodMeetingTimes. The meeting time(s) for a class period.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_classPeriodMeetingTime" }
        },
        "officialAttendancePeriod": {
          "description": "Indicator of whether this class period is used for official daily attendance.",
          "type": "boolean"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_classPeriodMeetingTime": {
      "required": [ "endTime", "startTime" ],
      "type": "object",
      "properties": {
        "endTime": {
          "description": "An indication of the time of day the meeting time ends.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "startTime": {
          "description": "An indication of the time of day the meeting time begins.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_classPeriodReference": {
      "required": [ "classPeriodName", "schoolId" ],
      "type": "object",
      "properties": {
        "classPeriodName": {
          "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).",
          "maxLength": 60,
          "type": "string"
        },
        "schoolId": {
          "format": "int32",
          "description": "The identifier assigned to a school.",
          "type": "integer"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_cohort": {
      "required": [ "cohortIdentifier", "cohortScopeDescriptor", "cohortTypeDescriptor", "cohortDescription", "id", "educationOrganizationReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "cohortIdentifier": {
          "description": "The name or ID for the Cohort.",
          "maxLength": 20,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "educationOrganizationReference": { "$ref": "#/definitions/edFi_educationOrganizationReference" },
        "academicSubjectDescriptor": {
          "description": "The academic subject associated with an academic intervention.",
          "maxLength": 306,
          "type": "string"
        },
        "cohortDescription": {
          "description": "The description of the Cohort and its purpose.",
          "maxLength": 1024,
          "type": "string"
        },
        "cohortScopeDescriptor": {
          "description": "The scope of cohort (e.g., school, district, classroom).",
          "maxLength": 306,
          "type": "string"
        },
        "cohortTypeDescriptor": {
          "description": "The type of cohort (e.g., academic intervention, classroom breakout).",
          "maxLength": 306,
          "type": "string"
        },
        "programs": {
          "description": "An unordered collection of cohortPrograms. The (optional) program associated with this Cohort (e.g., special education).",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_cohortProgram" }
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_cohortProgram": {
      "required": [ "programReference" ],
      "type": "object",
      "properties": { "programReference": { "$ref": "#/definitions/edFi_programReference" } }
    },
    "edFi_cohortReference": {
      "required": [ "cohortIdentifier", "educationOrganizationId" ],
      "type": "object",
      "properties": {
        "cohortIdentifier": {
          "description": "The name or ID for the Cohort.",
          "maxLength": 20,
          "type": "string"
        },
        "educationOrganizationId": {
          "format": "int32",
          "description": "The identifier assigned to an education organization.",
          "type": "integer"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_course": {
      "required": [ "courseCode", "academicSubjectDescriptor", "courseTitle", "id", "numberOfParts", "identificationCodes", "levelCharacteristics", "educationOrganizationReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "courseCode": {
          "description": "A unique alphanumeric code assigned to a course.",
          "maxLength": 60,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "identificationCodes": {
          "description": "An unordered collection of courseIdentificationCodes. The code that identifies the organization of subject matter and related learning experiences provided for the instruction of students.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_courseIdentificationCode" }
        },
        "levelCharacteristics": {
          "description": "An unordered collection of courseLevelCharacteristics. The type of specific program or designation with which the course is associated (e.g., AP, IB, Dual Credit, CTE).",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_courseLevelCharacteristic" }
        },
        "educationOrganizationReference": { "$ref": "#/definitions/edFi_educationOrganizationReference" },
        "academicSubjectDescriptor": {
          "description": "The intended major subject area of the course.",
          "maxLength": 306,
          "type": "string"
        },
        "careerPathwayDescriptor": {
          "description": "Indicates the career cluster or pathway the course is associated with as part of a CTE curriculum.",
          "maxLength": 306,
          "type": "string"
        },
        "competencyLevels": {
          "description": "An unordered collection of courseCompetencyLevels. The competency levels defined to rate the student for the course.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_courseCompetencyLevel" }
        },
        "courseDefinedByDescriptor": {
          "description": "Specifies whether the course was defined by the SEA, LEA, School, or national organization.",
          "maxLength": 306,
          "type": "string"
        },
        "courseDescription": {
          "description": "A description of the content standards and goals covered in the course. Reference may be made to state or national content standards.",
          "maxLength": 1024,
          "type": "string"
        },
        "courseGPAApplicabilityDescriptor": {
          "description": "An indicator of whether or not the course being described is included in the computation of the student's Grade Point Average, and if so, if it is weighted differently from regular courses.",
          "maxLength": 306,
          "type": "string"
        },
        "courseTitle": {
          "description": "The descriptive name given to a course of study offered in a school or other institution or organization. In departmentalized classes at the elementary, secondary, and postsecondary levels (and for staff development activities), this refers to the name by which a course is identified (e.g., American History, English III). For elementary and other non-departmentalized classes, it refers to any portion of the instruction for which a grade or report is assigned (e.g., reading, composition, spelling, and language arts).",
          "maxLength": 60,
          "type": "string"
        },
        "dateCourseAdopted": {
          "format": "date-time",
          "description": "Date the course was adopted by the education agency.",
          "type": "string"
        },
        "highSchoolCourseRequirement": {
          "description": "An indication that this course may satisfy high school graduation requirements in the course's subject area.",
          "type": "boolean"
        },
        "maxCompletionsForCredit": {
          "format": "int32",
          "description": "Designates how many times the course may be taken with credit received by the student.",
          "type": "integer"
        },
        "maximumAvailableCreditConversion": {
          "format": "double",
          "description": "Conversion factor that when multiplied by the number of credits is equivalent to Carnegie units.",
          "type": "number"
        },
        "maximumAvailableCredits": {
          "format": "double",
          "description": "The value of credits or units of value awarded for the completion of a course.",
          "type": "number"
        },
        "maximumAvailableCreditTypeDescriptor": {
          "description": "The type of credits or units of value awarded for the completion of a course.",
          "maxLength": 306,
          "type": "string"
        },
        "minimumAvailableCreditConversion": {
          "format": "double",
          "description": "Conversion factor that when multiplied by the number of credits is equivalent to Carnegie units.",
          "type": "number"
        },
        "minimumAvailableCredits": {
          "format": "double",
          "description": "The value of credits or units of value awarded for the completion of a course.",
          "type": "number"
        },
        "minimumAvailableCreditTypeDescriptor": {
          "description": "The type of credits or units of value awarded for the completion of a course.",
          "maxLength": 306,
          "type": "string"
        },
        "numberOfParts": {
          "format": "int32",
          "description": "The number of parts identified for a course.",
          "type": "integer"
        },
        "offeredGradeLevels": {
          "description": "An unordered collection of courseOfferedGradeLevels. The grade levels in which the course is offered.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_courseOfferedGradeLevel" }
        },
        "timeRequiredForCompletion": {
          "format": "int32",
          "description": "The actual or estimated number of clock minutes required for class completion.  This number is especially important for career and technical education classes and may represent (in minutes) the clock hour requirement of the class.",
          "type": "integer"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_courseCompetencyLevel": {
      "required": [ "competencyLevelDescriptor" ],
      "type": "object",
      "properties": {
        "competencyLevelDescriptor": {
          "description": "The competency levels defined to rate the student for the course.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_courseIdentificationCode": {
      "required": [ "courseIdentificationSystemDescriptor", "identificationCode" ],
      "type": "object",
      "properties": {
        "courseIdentificationSystemDescriptor": {
          "description": "A system that is used to identify the organization of subject matter and related learning experiences provided for the instruction of students.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "assigningOrganizationIdentificationCode": {
          "description": "The organization code or name assigning the Identification Code.",
          "maxLength": 60,
          "type": "string"
        },
        "identificationCode": {
          "description": "A unique number or alphanumeric code assigned to a course by a school, school system, state, or other agency or entity. For multi-part course codes, concatenate the parts separated by a \"/\". For example, consider the following SCED code-    subject = 20 Math    course = 272 Geometry    level = G General    credits = 1.00   course sequence 1 of 1- would be entered as 20/272/G/1.00/1 of 1.",
          "maxLength": 60,
          "type": "string"
        }
      }
    },
    "edFi_courseLevelCharacteristic": {
      "required": [ "courseLevelCharacteristicDescriptor" ],
      "type": "object",
      "properties": {
        "courseLevelCharacteristicDescriptor": {
          "description": "The type of specific program or designation with which the course is associated (e.g., AP, IB, Dual Credit, CTE).",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_courseOfferedGradeLevel": {
      "required": [ "gradeLevelDescriptor" ],
      "type": "object",
      "properties": {
        "gradeLevelDescriptor": {
          "description": "The grade levels in which the course is offered.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_courseOffering": {
      "required": [ "localCourseCode", "id", "localCourseTitle", "courseReference", "schoolReference", "sessionReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "localCourseCode": {
          "description": "The local code assigned by the School that identifies the course offering provided for the instruction of students.",
          "maxLength": 60,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "courseReference": { "$ref": "#/definitions/edFi_courseReference" },
        "schoolReference": { "$ref": "#/definitions/edFi_schoolReference" },
        "sessionReference": { "$ref": "#/definitions/edFi_sessionReference" },
        "curriculumUseds": {
          "description": "An unordered collection of courseOfferingCurriculumUseds. The type of curriculum used in an early learning classroom or group.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_courseOfferingCurriculumUsed" }
        },
        "instructionalTimePlanned": {
          "format": "int32",
          "description": "The planned total number of clock minutes of instruction for this course offering. Generally, this should be at least as many minutes as is required for completion by the related state- or district-defined course.",
          "type": "integer"
        },
        "localCourseTitle": {
          "description": "The descriptive name given to a course of study offered in the school, if different from the CourseTitle.",
          "maxLength": 60,
          "type": "string"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_courseOfferingCurriculumUsed": {
      "required": [ "curriculumUsedDescriptor" ],
      "type": "object",
      "properties": {
        "curriculumUsedDescriptor": {
          "description": "The type of curriculum used in an early learning classroom or group.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_courseOfferingReference": {
      "required": [ "localCourseCode", "schoolId", "schoolYear", "sessionName" ],
      "type": "object",
      "properties": {
        "localCourseCode": {
          "description": "The local code assigned by the School that identifies the course offering provided for the instruction of students.",
          "maxLength": 60,
          "type": "string"
        },
        "schoolId": {
          "format": "int32",
          "description": "The identifier assigned to a school.",
          "type": "integer"
        },
        "schoolYear": {
          "format": "int32",
          "description": "The identifier for the school year.",
          "type": "integer"
        },
        "sessionName": {
          "description": "The identifier for the calendar for the academic session (e.g., 2010/11, 2011 Summer).",
          "maxLength": 60,
          "type": "string"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_courseReference": {
      "required": [ "courseCode", "educationOrganizationId" ],
      "type": "object",
      "properties": {
        "courseCode": {
          "description": "A unique alphanumeric code assigned to a course.",
          "maxLength": 60,
          "type": "string"
        },
        "educationOrganizationId": {
          "format": "int32",
          "description": "The identifier assigned to an education organization.",
          "type": "integer"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_courseTranscript": {
      "required": [ "courseAttemptResultDescriptor", "earnedCredits", "finalLetterGradeEarned", "finalNumericGradeEarned", "id", "courseReference", "studentAcademicRecordReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "courseAttemptResultDescriptor": {
          "description": "The result from the student's attempt to take the course, for example:          Pass          Fail          Incomplete          Withdrawn.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "courseReference": { "$ref": "#/definitions/edFi_courseReference" },
        "externalEducationOrganizationReference": { "$ref": "#/definitions/edFi_educationOrganizationReference" },
        "studentAcademicRecordReference": { "$ref": "#/definitions/edFi_studentAcademicRecordReference" },
        "alternativeCourseCode": {
          "description": "The local code assigned by the school that identifies the course offering, the code from an external educational organization, or other alternate course code.",
          "maxLength": 60,
          "type": "string"
        },
        "alternativeCourseTitle": {
          "description": "The descriptive name given to a course of study offered in the school, if different from the CourseTitle.",
          "maxLength": 60,
          "type": "string"
        },
        "attemptedCreditConversion": {
          "format": "double",
          "description": "Conversion factor that when multiplied by the number of credits is equivalent to Carnegie units.",
          "type": "number"
        },
        "attemptedCredits": {
          "format": "double",
          "description": "The value of credits or units of value awarded for the completion of a course.",
          "type": "number"
        },
        "attemptedCreditTypeDescriptor": {
          "description": "The type of credits or units of value awarded for the completion of a course.",
          "maxLength": 306,
          "type": "string"
        },
        "courseRepeatCodeDescriptor": {
          "description": "Indicates that an academic course has been repeated by a student and how that repeat is to be computed in the student's academic grade average.",
          "maxLength": 306,
          "type": "string"
        },
        "courseTitle": {
          "description": "The descriptive name given to a course of study offered in a school or other institution or organization. In departmentalized classes at the elementary, secondary, and postsecondary levels (and for staff development activities), this refers to the name by which a course is identified (e.g., American History, English III). For elementary and other non-departmentalized classes, it refers to any portion of the instruction for which a grade or report is assigned (e.g., reading, composition, spelling, language arts).",
          "maxLength": 60,
          "type": "string"
        },
        "earnedAdditionalCredits": {
          "description": "An unordered collection of courseTranscriptEarnedAdditionalCredits. The number of additional credits a student attempted and could earn for successfully completing a given course (e.g., dual credit, AP, IB).",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_courseTranscriptEarnedAdditionalCredits" }
        },
        "earnedCreditConversion": {
          "format": "double",
          "description": "Conversion factor that when multiplied by the number of credits is equivalent to Carnegie units.",
          "type": "number"
        },
        "earnedCredits": {
          "format": "double",
          "description": "The value of credits or units of value awarded for the completion of a course.",
          "type": "number"
        },
        "earnedCreditTypeDescriptor": {
          "description": "The type of credits or units of value awarded for the completion of a course.",
          "maxLength": 306,
          "type": "string"
        },
        "finalLetterGradeEarned": {
          "description": "The final indicator of student performance in a class as submitted by the instructor.",
          "maxLength": 20,
          "type": "string"
        },
        "finalNumericGradeEarned": {
          "format": "double",
          "description": "The final indicator of student performance in a class as submitted by the instructor.",
          "type": "number"
        },
        "methodCreditEarnedDescriptor": {
          "description": "The method the credits were earned (e.g., Classroom, Examination, Transfer).",
          "maxLength": 306,
          "type": "string"
        },
        "whenTakenGradeLevelDescriptor": {
          "description": "Student's grade level at time of course.",
          "maxLength": 306,
          "type": "string"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_courseTranscriptEarnedAdditionalCredits": {
      "required": [ "additionalCreditTypeDescriptor", "credits" ],
      "type": "object",
      "properties": {
        "additionalCreditTypeDescriptor": {
          "description": "The type of credits or units of value awarded for the completion of a course.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "credits": {
          "format": "double",
          "description": "The value of credits or units of value awarded for the completion of a course",
          "type": "number"
        }
      }
    },
    "edFi_disciplineAction": {
      "required": [ "disciplineActionIdentifier", "disciplineDate", "actualDisciplineActionLength", "id", "disciplines", "studentDisciplineIncidentAssociations", "responsibilitySchoolReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "disciplineActionIdentifier": {
          "description": "Identifier assigned by the education organization to the DisciplineAction.",
          "maxLength": 20,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "disciplineDate": {
          "format": "date-time",
          "description": "The date of the DisciplineAction.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "disciplines": {
          "description": "An unordered collection of disciplineActionDisciplines. Type of action, such as removal from the classroom, used to discipline the student involved as a perpetrator in a discipline incident.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_disciplineActionDiscipline" }
        },
        "studentDisciplineIncidentAssociations": {
          "description": "An unordered collection of disciplineActionStudentDisciplineIncidentAssociations. Reference to the DisciplineIncident associated with the DisciplineAction.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_disciplineActionStudentDisciplineIncidentAssociation" }
        },
        "assignmentSchoolReference": { "$ref": "#/definitions/edFi_schoolReference" },
        "responsibilitySchoolReference": { "$ref": "#/definitions/edFi_schoolReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "actualDisciplineActionLength": {
          "format": "double",
          "description": "Indicates the actual length in school days of a student's disciplinary assignment.",
          "type": "number"
        },
        "disciplineActionLength": {
          "format": "double",
          "description": "The length of time in school days for the DisciplineAction (e.g. removal, detention), if applicable.",
          "type": "number"
        },
        "disciplineActionLengthDifferenceReasonDescriptor": {
          "description": "Indicates the reason for the difference, if any, between the official and actual lengths of a student's disciplinary assignment.",
          "maxLength": 306,
          "type": "string"
        },
        "iepPlacementMeetingIndicator": {
          "description": "An indication as to whether an offense and/or disciplinary action resulted in a meeting of a student s Individualized Education Program (IEP) team to determine appropriate placement.",
          "type": "boolean"
        },
        "receivedEducationServicesDuringExpulsion": {
          "description": "An indication of whether the student received educational services when removed from the regular school program for disciplinary reasons.",
          "type": "boolean"
        },
        "relatedToZeroTolerancePolicy": {
          "description": "An indication of whether or not this disciplinary action taken against a student was imposed as a consequence of state or local zero tolerance policies.",
          "type": "boolean"
        },
        "staffs": {
          "description": "An unordered collection of disciplineActionStaffs. The staff responsible for enforcing the DisciplineAction.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_disciplineActionStaff" }
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_disciplineActionDiscipline": {
      "required": [ "disciplineDescriptor" ],
      "type": "object",
      "properties": {
        "disciplineDescriptor": {
          "description": "Type of action, such as removal from the classroom, used to discipline the student involved as a perpetrator in a discipline incident.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_disciplineActionStaff": {
      "required": [ "staffReference" ],
      "type": "object",
      "properties": { "staffReference": { "$ref": "#/definitions/edFi_staffReference" } }
    },
    "edFi_disciplineActionStudentDisciplineIncidentAssociation": {
      "required": [ "studentDisciplineIncidentAssociationReference" ],
      "type": "object",
      "properties": { "studentDisciplineIncidentAssociationReference": { "$ref": "#/definitions/edFi_studentDisciplineIncidentAssociationReference" } }
    },
    "edFi_disciplineIncident": {
      "required": [ "incidentIdentifier", "incidentLocationDescriptor", "reporterDescriptionDescriptor", "id", "incidentDate", "reporterName", "behaviors", "schoolReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "behaviors": {
          "description": "An unordered collection of disciplineIncidentBehaviors. Describes behavior by category and provides a detailed description.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_disciplineIncidentBehavior" }
        },
        "incidentIdentifier": {
          "description": "A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire DisciplineIncident even if it included multiple offenses and multiple offenders.",
          "maxLength": 20,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "schoolReference": { "$ref": "#/definitions/edFi_schoolReference" },
        "staffReference": { "$ref": "#/definitions/edFi_staffReference" },
        "caseNumber": {
          "description": "The case number assigned to the DisciplineIncident by law enforcement or other organization.",
          "maxLength": 20,
          "type": "string"
        },
        "incidentCost": {
          "format": "double",
          "description": "The value of any quantifiable monetary loss directly resulting from the DisciplineIncident. Examples include the value of repairs necessitated by vandalism of a school facility, or the value of personnel resources used for repairs or consumed by the incident.",
          "type": "number"
        },
        "incidentDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the DisciplineIncident occurred.",
          "type": "string"
        },
        "incidentDescription": {
          "description": "The description for an incident.",
          "maxLength": 1024,
          "type": "string"
        },
        "incidentLocationDescriptor": {
          "description": "Identifies where the DisciplineIncident occurred and whether or not it occurred on school, for example:          On school          Administrative offices area          Cafeteria area          Classroom          Hallway or stairs          ...",
          "maxLength": 306,
          "type": "string"
        },
        "incidentTime": {
          "description": "An indication of the time of day the incident took place.",
          "type": "string"
        },
        "reportedToLawEnforcement": {
          "description": "Indicator of whether the incident was reported to law enforcement.",
          "type": "boolean"
        },
        "reporterDescriptionDescriptor": {
          "description": "Information on the type of individual who reported the DisciplineIncident. When known and/or if useful, use a more specific option code (e.g., \"Counselor\" rather than \"Professional Staff\"); for example:          Student          Parent/guardian          Law enforcement officer          Nonschool personnel          Representative of visiting school          ...",
          "maxLength": 306,
          "type": "string"
        },
        "reporterName": {
          "description": "Identifies the reporter of the DisciplineIncident by name.",
          "maxLength": 75,
          "type": "string"
        },
        "weapons": {
          "description": "An unordered collection of disciplineIncidentWeapons. Identifies the type of weapon used during an incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_disciplineIncidentWeapon" }
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_disciplineIncidentBehavior": {
      "required": [ "behaviorDescriptor" ],
      "type": "object",
      "properties": {
        "behaviorDescriptor": {
          "description": "Describes behavior by category and provides a detailed description.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "behaviorDetailedDescription": {
          "description": "Specifies a more granular level of detail of a behavior involved in the incident.",
          "maxLength": 1024,
          "type": "string"
        }
      }
    },
    "edFi_disciplineIncidentReference": {
      "required": [ "incidentIdentifier", "schoolId" ],
      "type": "object",
      "properties": {
        "incidentIdentifier": {
          "description": "A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire DisciplineIncident even if it included multiple offenses and multiple offenders.",
          "maxLength": 20,
          "type": "string"
        },
        "schoolId": {
          "format": "int32",
          "description": "The identifier assigned to a school.",
          "type": "integer"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_disciplineIncidentWeapon": {
      "required": [ "weaponDescriptor" ],
      "type": "object",
      "properties": {
        "weaponDescriptor": {
          "description": "Identifies the type of weapon used during an incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_educationOrganizationAddress": {
      "required": [ "addressTypeDescriptor", "stateAbbreviationDescriptor", "city", "postalCode", "streetNumberName" ],
      "type": "object",
      "properties": {
        "addressTypeDescriptor": {
          "description": "The type of address listed for an individual or organization.    For example:  Physical Address, Mailing Address, Home Address, etc.)",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "stateAbbreviationDescriptor": {
          "description": "The abbreviation for the state (within the United States) or outlying area in which an address is located.",
          "maxLength": 306,
          "type": "string"
        },
        "apartmentRoomSuiteNumber": {
          "description": "The apartment, room, or suite number of an address.",
          "maxLength": 50,
          "type": "string"
        },
        "buildingSiteNumber": {
          "description": "The number of the building on the site, if more than one building shares the same address.",
          "maxLength": 20,
          "type": "string"
        },
        "city": {
          "description": "The name of the city in which an address is located.",
          "maxLength": 30,
          "type": "string"
        },
        "countyFIPSCode": {
          "description": "The Federal Information Processing Standards (FIPS) numeric code for the county issued by the National Institute of Standards and Technology (NIST). Counties are considered to be the \"first-order subdivisions\" of each State and statistically equivalent entity, regardless of their local designations (county, parish, borough, etc.) Counties in different States will have the same code. A unique county number is created when combined with the 2-digit FIPS State Code.",
          "maxLength": 5,
          "type": "string"
        },
        "doNotPublishIndicator": {
          "description": "An indication that the address should not be published.",
          "type": "boolean"
        },
        "latitude": {
          "description": "The geographic latitude of the physical address.",
          "maxLength": 20,
          "type": "string"
        },
        "longitude": {
          "description": "The geographic longitude of the physical address.",
          "maxLength": 20,
          "type": "string"
        },
        "nameOfCounty": {
          "description": "The name of the county, parish, borough, or comparable unit (within a state) in                        'which an address is located.",
          "maxLength": 30,
          "type": "string"
        },
        "postalCode": {
          "description": "The five or nine digit zip code or overseas postal code portion of an address.",
          "maxLength": 17,
          "type": "string"
        },
        "streetNumberName": {
          "description": "The street number and street name or post office box number of an address.",
          "maxLength": 150,
          "type": "string"
        },
        "periods": {
          "description": "An unordered collection of educationOrganizationAddressPeriods. The time periods for which the address is valid. For physical addresses, the periods in which the person lived at that address.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_educationOrganizationAddressPeriod" }
        }
      }
    },
    "edFi_educationOrganizationAddressPeriod": {
      "required": [ "beginDate" ],
      "type": "object",
      "properties": {
        "beginDate": {
          "format": "date-time",
          "description": "The month, day, and year for the start of the period.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "endDate": {
          "format": "date-time",
          "description": "The month, day, and year for the end of the period.",
          "type": "string"
        }
      }
    },
    "edFi_educationOrganizationCategory": {
      "required": [ "educationOrganizationCategoryDescriptor" ],
      "type": "object",
      "properties": {
        "educationOrganizationCategoryDescriptor": {
          "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.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_educationOrganizationIdentificationCode": {
      "required": [ "educationOrganizationIdentificationSystemDescriptor", "identificationCode" ],
      "type": "object",
      "properties": {
        "educationOrganizationIdentificationSystemDescriptor": {
          "description": "The school system, state, or agency assigning the identification code.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "identificationCode": {
          "description": "A unique number or alphanumeric code that is assigned to an education organization by a school, school system, state, or other agency or entity.",
          "maxLength": 60,
          "type": "string"
        }
      }
    },
    "edFi_educationOrganizationInstitutionTelephone": {
      "required": [ "institutionTelephoneNumberTypeDescriptor", "telephoneNumber" ],
      "type": "object",
      "properties": {
        "institutionTelephoneNumberTypeDescriptor": {
          "description": "The type of communication number listed for an individual or organization.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "telephoneNumber": {
          "description": "The telephone number including the area code, and extension, if applicable.",
          "maxLength": 24,
          "type": "string"
        }
      }
    },
    "edFi_educationOrganizationInternationalAddress": {
      "required": [ "addressTypeDescriptor", "countryDescriptor", "addressLine1" ],
      "type": "object",
      "properties": {
        "addressTypeDescriptor": {
          "description": "The type of address listed for an individual or organization. For example:  Physical Address, Mailing Address, Home Address, etc.)",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "countryDescriptor": {
          "description": "The name of the country. It is strongly recommended that entries use only ISO 3166 2-letter country codes.",
          "maxLength": 306,
          "type": "string"
        },
        "addressLine1": {
          "description": "The first line of the address.",
          "maxLength": 150,
          "type": "string"
        },
        "addressLine2": {
          "description": "The second line of the address.",
          "maxLength": 150,
          "type": "string"
        },
        "addressLine3": {
          "description": "The third line of the address.",
          "maxLength": 150,
          "type": "string"
        },
        "addressLine4": {
          "description": "The fourth line of the address.",
          "maxLength": 150,
          "type": "string"
        },
        "beginDate": {
          "format": "date-time",
          "description": "The first date the address is valid. For physical addresses, the date the person moved to that address.",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "description": "The last date the address is valid. For physical addresses, this would be the date the person moved from that address.",
          "type": "string"
        },
        "latitude": {
          "description": "The geographic latitude of the physical address.",
          "maxLength": 20,
          "type": "string"
        },
        "longitude": {
          "description": "The geographic longitude of the physical address.",
          "maxLength": 20,
          "type": "string"
        }
      }
    },
    "edFi_educationOrganizationReference": {
      "required": [ "educationOrganizationId" ],
      "type": "object",
      "properties": {
        "educationOrganizationId": {
          "format": "int32",
          "description": "The identifier assigned to an education organization.",
          "type": "integer"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_grade": {
      "required": [ "gradeTypeDescriptor", "id", "letterGradeEarned", "numericGradeEarned", "gradingPeriodReference", "studentSectionAssociationReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "gradeTypeDescriptor": {
          "description": "The type of grade reported (e.g., Exam, Final, Grading Period).",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "gradingPeriodReference": { "$ref": "#/definitions/edFi_gradingPeriodReference" },
        "studentSectionAssociationReference": { "$ref": "#/definitions/edFi_studentSectionAssociationReference" },
        "diagnosticStatement": {
          "description": "A statement provided by the teacher that provides information in addition to the grade or assessment score.",
          "maxLength": 1024,
          "type": "string"
        },
        "letterGradeEarned": {
          "description": "A final or interim (grading period) indicator of student performance in a class as submitted by the instructor.",
          "maxLength": 20,
          "type": "string"
        },
        "numericGradeEarned": {
          "format": "double",
          "description": "A final or interim (grading period) indicator of student performance in a class as submitted by the instructor.",
          "type": "number"
        },
        "performanceBaseConversionDescriptor": {
          "description": "A conversion of the level to a standard set of performance levels.",
          "maxLength": 306,
          "type": "string"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_gradingPeriod": {
      "required": [ "gradingPeriodDescriptor", "periodSequence", "beginDate", "endDate", "id", "totalInstructionalDays", "schoolReference", "schoolYearTypeReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "gradingPeriodDescriptor": {
          "description": "The name of the period for which grades are reported.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "periodSequence": {
          "format": "int32",
          "description": "The sequential order of this period relative to other periods.",
          "type": "integer",
          "x-Ed-Fi-isIdentity": true
        },
        "schoolReference": { "$ref": "#/definitions/edFi_schoolReference" },
        "schoolYearTypeReference": { "$ref": "#/definitions/edFi_schoolYearTypeReference" },
        "beginDate": {
          "format": "date-time",
          "description": "Month, day, and year of the first day of the GradingPeriod.",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "description": "Month, day, and year of the last day of the GradingPeriod.",
          "type": "string"
        },
        "totalInstructionalDays": {
          "format": "int32",
          "description": "Total days available for educational instruction during the GradingPeriod.",
          "type": "integer"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_gradingPeriodReference": {
      "required": [ "gradingPeriodDescriptor", "periodSequence", "schoolId", "schoolYear" ],
      "type": "object",
      "properties": {
        "gradingPeriodDescriptor": {
          "description": "The name of the period for which grades are reported.",
          "maxLength": 306,
          "type": "string"
        },
        "periodSequence": {
          "format": "int32",
          "description": "The sequential order of this period relative to other periods.",
          "type": "integer"
        },
        "schoolId": {
          "format": "int32",
          "description": "The identifier assigned to a school.",
          "type": "integer"
        },
        "schoolYear": {
          "format": "int32",
          "description": "The identifier for the grading period school year.",
          "type": "integer"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_graduationPlan": {
      "required": [ "graduationPlanTypeDescriptor", "id", "totalRequiredCredits", "educationOrganizationReference", "graduationSchoolYearTypeReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "graduationPlanTypeDescriptor": {
          "description": "The type of academic plan the student is following for graduation: for example, Minimum, Recommended, Distinguished, or Standard.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "educationOrganizationReference": { "$ref": "#/definitions/edFi_educationOrganizationReference" },
        "graduationSchoolYearTypeReference": { "$ref": "#/definitions/edFi_schoolYearTypeReference" },
        "creditsByCourses": {
          "description": "An unordered collection of graduationPlanCreditsByCourses. The total credits required for graduation by taking a specific course, or by taking one or more from a set of courses.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_graduationPlanCreditsByCourse" }
        },
        "creditsBySubjects": {
          "description": "An unordered collection of graduationPlanCreditsBySubjects. The total credits required in subject to graduate. Only those courses identified as a high school course requirement are eligible to meet subject credit requirements.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_graduationPlanCreditsBySubject" }
        },
        "individualPlan": {
          "description": "An indicator of whether the GraduationPlan is tailored for an individual.",
          "type": "boolean"
        },
        "totalRequiredCreditConversion": {
          "format": "double",
          "description": "Conversion factor that when multiplied by the number of credits is equivalent to Carnegie units.",
          "type": "number"
        },
        "totalRequiredCredits": {
          "format": "double",
          "description": "The value of credits or units of value awarded for the completion of a course.",
          "type": "number"
        },
        "totalRequiredCreditTypeDescriptor": {
          "description": "The type of credits or units of value awarded for the completion of a course.",
          "maxLength": 306,
          "type": "string"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_graduationPlanCreditsByCourse": {
      "required": [ "courseSetName", "credits", "courses" ],
      "type": "object",
      "properties": {
        "courseSetName": {
          "description": "Identifying name given to a collection of courses.",
          "maxLength": 120,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "creditTypeDescriptor": {
          "description": "The type of credits or units of value awarded for the completion of a course.",
          "maxLength": 306,
          "type": "string"
        },
        "whenTakenGradeLevelDescriptor": {
          "description": "The grade level when the student is planned to take the course.",
          "maxLength": 306,
          "type": "string"
        },
        "creditConversion": {
          "format": "double",
          "description": "Conversion factor that when multiplied by the number of credits is equivalent to Carnegie units.",
          "type": "number"
        },
        "credits": {
          "format": "double",
          "description": "The value of credits or units of value awarded for the completion of a course.",
          "type": "number"
        },
        "courses": {
          "description": "An unordered collection of graduationPlanCreditsByCourseCourses. The course reference that identifies the organization of subject matter and related learning experiences provided for the instruction of students.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_graduationPlanCreditsByCourseCourse" }
        }
      }
    },
    "edFi_graduationPlanCreditsByCourseCourse": {
      "required": [ "courseReference" ],
      "type": "object",
      "properties": { "courseReference": { "$ref": "#/definitions/edFi_courseReference" } }
    },
    "edFi_graduationPlanCreditsBySubject": {
      "required": [ "academicSubjectDescriptor", "credits" ],
      "type": "object",
      "properties": {
        "academicSubjectDescriptor": {
          "description": "The intended major subject area of the graduation requirement.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "creditTypeDescriptor": {
          "description": "The type of credits or units of value awarded for the completion of a course.",
          "maxLength": 306,
          "type": "string"
        },
        "creditConversion": {
          "format": "double",
          "description": "Conversion factor that when multiplied by the number of credits is equivalent to Carnegie units.",
          "type": "number"
        },
        "credits": {
          "format": "double",
          "description": "The value of credits or units of value awarded for the completion of a course.",
          "type": "number"
        }
      }
    },
    "edFi_graduationPlanReference": {
      "required": [ "educationOrganizationId", "graduationPlanTypeDescriptor", "graduationSchoolYear" ],
      "type": "object",
      "properties": {
        "educationOrganizationId": {
          "format": "int32",
          "description": "The identifier assigned to an education organization.",
          "type": "integer"
        },
        "graduationPlanTypeDescriptor": {
          "description": "The type of academic plan the student is following for graduation: for example, Minimum, Recommended, Distinguished, or Standard.",
          "maxLength": 306,
          "type": "string"
        },
        "graduationSchoolYear": {
          "format": "int32",
          "description": "The school year the student is expected to graduate.",
          "type": "integer"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_localEducationAgency": {
      "required": [ "localEducationAgencyId", "id", "nameOfInstitution", "shortNameOfInstitution", "localEducationAgencyCategoryDescriptor", "addresses", "categories" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "addresses": {
          "description": "An unordered collection of educationOrganizationAddresses. The set of elements that describes the physical location of the education entity, including the street address, city, state, ZIP code, and ZIP code + 4.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_educationOrganizationAddress" }
        },
        "categories": {
          "description": "An unordered collection of educationOrganizationCategories. 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.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_educationOrganizationCategory" }
        },
        "localEducationAgencyId": {
          "format": "int32",
          "description": "The identifier assigned to a local education agency.",
          "type": "integer",
          "x-Ed-Fi-isIdentity": true
        },
        "parentLocalEducationAgencyReference": { "$ref": "#/definitions/edFi_localEducationAgencyReference" },
        "accountabilities": {
          "description": "An unordered collection of localEducationAgencyAccountabilities. This entity maintains information about federal reporting and accountability for local education agencies.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_localEducationAgencyAccountability" }
        },
        "charterStatusDescriptor": {
          "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.",
          "maxLength": 306,
          "type": "string"
        },
        "federalFunds": {
          "description": "An unordered collection of localEducationAgencyFederalFunds. Contains the information about the reception and use of federal funds for reporting purposes.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_localEducationAgencyFederalFunds" }
        },
        "identificationCodes": {
          "description": "An unordered collection of educationOrganizationIdentificationCodes. A unique number or alphanumeric code assigned to an education organization by a school, school system, a state, or other agency or entity.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_educationOrganizationIdentificationCode" }
        },
        "institutionTelephones": {
          "description": "An unordered collection of educationOrganizationInstitutionTelephones. The 10-digit telephone number, including the area code, for the education entity.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_educationOrganizationInstitutionTelephone" }
        },
        "internationalAddresses": {
          "description": "An unordered collection of educationOrganizationInternationalAddresses. The set of elements that describes the international physical location of the education entity.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_educationOrganizationInternationalAddress" }
        },
        "localEducationAgencyCategoryDescriptor": {
          "description": "The category of local education agency/district. For example: Independent or Charter.",
          "maxLength": 306,
          "type": "string"
        },
        "nameOfInstitution": {
          "description": "The full, legally accepted name of the institution.",
          "maxLength": 75,
          "type": "string"
        },
        "operationalStatusDescriptor": {
          "description": "The current operational status of the EducationOrganization (e.g., active, inactive).",
          "maxLength": 306,
          "type": "string"
        },
        "shortNameOfInstitution": {
          "description": "A short name for the institution.",
          "maxLength": 75,
          "type": "string"
        },
        "webSite": {
          "description": "The public web site address (URL) for the EducationOrganization.",
          "maxLength": 255,
          "type": "string"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_localEducationAgencyAccountability": {
      "required": [ "schoolYearTypeReference" ],
      "type": "object",
      "properties": {
        "gunFreeSchoolsActReportingStatusDescriptor": {
          "description": "An indication of whether the school or Local Education Agency (LEA) submitted a Gun-Free Schools Act (GFSA) of 1994 report to the state, as defined by Title 18, Section 921.",
          "maxLength": 306,
          "type": "string"
        },
        "schoolChoiceImplementStatusDescriptor": {
          "description": "An indication of whether the LEA was able to implement the provisions for public school choice under Title I, Part A, Section 1116 of ESEA as amended.",
          "maxLength": 306,
          "type": "string"
        },
        "schoolYearTypeReference": { "$ref": "#/definitions/edFi_schoolYearTypeReference" }
      }
    },
    "edFi_localEducationAgencyFederalFunds": {
      "required": [ "fiscalYear" ],
      "type": "object",
      "properties": {
        "fiscalYear": {
          "format": "int32",
          "description": "The school year for which the accountability is reported.",
          "type": "integer",
          "x-Ed-Fi-isIdentity": true
        },
        "innovativeDollarsSpent": {
          "format": "double",
          "description": "The total Title V, Part A funds expended by LEAs.",
          "type": "number"
        },
        "innovativeDollarsSpentStrategicPriorities": {
          "format": "double",
          "description": "The total amount of Title V, Part A funds expended by LEAs for the four strategic priorities.",
          "type": "number"
        },
        "innovativeProgramsFundsReceived": {
          "format": "double",
          "description": "The total Title V, Part A funds received by LEAs.",
          "type": "number"
        },
        "schoolImprovementAllocation": {
          "format": "double",
          "description": "The amount of Section 1003(a) and 1003(g) allocations to LEAs.",
          "type": "number"
        },
        "schoolImprovementReservedFundsPercentage": {
          "format": "double",
          "description": "An indication of the percentage of the Title I, Part A allocation that the SEA reserved in accordance with Section 1003(a) of ESEA and  200.100(a) of ED's regulations governing the reservation of funds for school improvement under Section 1003(a) of ESEA.",
          "type": "number"
        },
        "stateAssessmentAdministrationFunding": {
          "format": "double",
          "description": "The percentage of funds used to administer assessments required by Section 1111(b) or to carry out other activities described in Section 6111 and other activities related to ensuring that the state's schools and LEAs are held accountable for results.",
          "type": "number"
        },
        "supplementalEducationalServicesFundsSpent": {
          "format": "double",
          "description": "The dollar amount spent on supplemental educational services during the school year under Title I, Part A, Section 1116 of ESEA as amended.",
          "type": "number"
        },
        "supplementalEducationalServicesPerPupilExpenditure": {
          "format": "double",
          "description": "The maximum dollar amount that may be spent per child for expenditures related to supplemental educational services under Title I of the ESEA.",
          "type": "number"
        }
      }
    },
    "edFi_localEducationAgencyReference": {
      "required": [ "localEducationAgencyId" ],
      "type": "object",
      "properties": {
        "localEducationAgencyId": {
          "format": "int32",
          "description": "The identifier assigned to a local education agency.",
          "type": "integer"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_location": {
      "required": [ "classroomIdentificationCode", "id", "maximumNumberOfSeats", "schoolReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "classroomIdentificationCode": {
          "description": "A unique number or alphanumeric code assigned to a room by a school, school system, state, or other agency or entity.",
          "maxLength": 20,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "schoolReference": { "$ref": "#/definitions/edFi_schoolReference" },
        "maximumNumberOfSeats": {
          "format": "int32",
          "description": "The most number of seats the class can maintain.",
          "type": "integer"
        },
        "optimalNumberOfSeats": {
          "format": "int32",
          "description": "The number of seats that is most favorable to the class.",
          "type": "integer"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_locationReference": {
      "required": [ "classroomIdentificationCode", "schoolId" ],
      "type": "object",
      "properties": {
        "classroomIdentificationCode": {
          "description": "A unique number or alphanumeric code assigned to a room by a school, school system, state, or other agency or entity.",
          "maxLength": 20,
          "type": "string"
        },
        "schoolId": {
          "format": "int32",
          "description": "The identifier assigned to a school.",
          "type": "integer"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_parent": {
      "required": [ "parentUniqueId", "sexDescriptor", "firstName", "id", "lastSurname", "addresses", "electronicMails" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "addresses": {
          "description": "An unordered collection of parentAddresses. Parent's address, if different from the student address.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_parentAddress" }
        },
        "electronicMails": {
          "description": "An unordered collection of parentElectronicMails. The numbers, letters, and symbols used to identify an electronic mail (e-mail) user within the network to which the individual or organization belongs.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_parentElectronicMail" }
        },
        "parentUniqueId": {
          "description": "A unique alphanumeric code assigned to a parent.",
          "maxLength": 32,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "firstName": {
          "description": "A name given to an individual at birth, baptism, or during another naming ceremony, or through legal change.",
          "maxLength": 75,
          "type": "string"
        },
        "generationCodeSuffix": {
          "description": "An appendage, if any, used to denote an individual's generation in his family (e.g., Jr., Sr., III).",
          "maxLength": 10,
          "type": "string"
        },
        "internationalAddresses": {
          "description": "An unordered collection of parentInternationalAddresses. The set of elements that describes an international address.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_parentInternationalAddress" }
        },
        "languages": {
          "description": "An unordered collection of parentLanguages. The language(s) the individual uses to communicate. It is strongly recommended that entries use only ISO 639-2 language codes.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_parentLanguage" }
        },
        "lastSurname": {
          "description": "The name borne in common by members of a family.",
          "maxLength": 75,
          "type": "string"
        },
        "loginId": {
          "description": "The login ID for the user; used for security access control interface.",
          "maxLength": 60,
          "type": "string"
        },
        "maidenName": {
          "description": "The person's maiden name.",
          "maxLength": 75,
          "type": "string"
        },
        "middleName": {
          "description": "A secondary name given to an individual at birth, baptism, or during another naming ceremony.",
          "maxLength": 75,
          "type": "string"
        },
        "otherNames": {
          "description": "An unordered collection of parentOtherNames. Other names (e.g., alias, nickname, previous legal name) associated with a person.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_parentOtherName" }
        },
        "personalIdentificationDocuments": {
          "description": "An unordered collection of parentPersonalIdentificationDocuments. The documents presented as evident to verify one's personal identity; for example: drivers license, passport, birth certificate, etc.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_parentPersonalIdentificationDocument" }
        },
        "personalTitlePrefix": {
          "description": "A prefix used to denote the title, degree, position, or seniority of the person.",
          "maxLength": 30,
          "type": "string"
        },
        "sexDescriptor": {
          "description": "A person's gender.",
          "maxLength": 306,
          "type": "string"
        },
        "telephones": {
          "description": "An unordered collection of parentTelephones. The 10-digit telephone number, including the area code, for the person.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_parentTelephone" }
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_parentAddress": {
      "required": [ "addressTypeDescriptor", "stateAbbreviationDescriptor", "city", "postalCode", "streetNumberName" ],
      "type": "object",
      "properties": {
        "addressTypeDescriptor": {
          "description": "The type of address listed for an individual or organization.    For example:  Physical Address, Mailing Address, Home Address, etc.)",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "stateAbbreviationDescriptor": {
          "description": "The abbreviation for the state (within the United States) or outlying area in which an address is located.",
          "maxLength": 306,
          "type": "string"
        },
        "apartmentRoomSuiteNumber": {
          "description": "The apartment, room, or suite number of an address.",
          "maxLength": 50,
          "type": "string"
        },
        "buildingSiteNumber": {
          "description": "The number of the building on the site, if more than one building shares the same address.",
          "maxLength": 20,
          "type": "string"
        },
        "city": {
          "description": "The name of the city in which an address is located.",
          "maxLength": 30,
          "type": "string"
        },
        "countyFIPSCode": {
          "description": "The Federal Information Processing Standards (FIPS) numeric code for the county issued by the National Institute of Standards and Technology (NIST). Counties are considered to be the \"first-order subdivisions\" of each State and statistically equivalent entity, regardless of their local designations (county, parish, borough, etc.) Counties in different States will have the same code. A unique county number is created when combined with the 2-digit FIPS State Code.",
          "maxLength": 5,
          "type": "string"
        },
        "doNotPublishIndicator": {
          "description": "An indication that the address should not be published.",
          "type": "boolean"
        },
        "latitude": {
          "description": "The geographic latitude of the physical address.",
          "maxLength": 20,
          "type": "string"
        },
        "longitude": {
          "description": "The geographic longitude of the physical address.",
          "maxLength": 20,
          "type": "string"
        },
        "nameOfCounty": {
          "description": "The name of the county, parish, borough, or comparable unit (within a state) in                        'which an address is located.",
          "maxLength": 30,
          "type": "string"
        },
        "postalCode": {
          "description": "The five or nine digit zip code or overseas postal code portion of an address.",
          "maxLength": 17,
          "type": "string"
        },
        "streetNumberName": {
          "description": "The street number and street name or post office box number of an address.",
          "maxLength": 150,
          "type": "string"
        },
        "periods": {
          "description": "An unordered collection of parentAddressPeriods. The time periods for which the address is valid. For physical addresses, the periods in which the person lived at that address.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_parentAddressPeriod" }
        }
      }
    },
    "edFi_parentAddressPeriod": {
      "required": [ "beginDate" ],
      "type": "object",
      "properties": {
        "beginDate": {
          "format": "date-time",
          "description": "The month, day, and year for the start of the period.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "endDate": {
          "format": "date-time",
          "description": "The month, day, and year for the end of the period.",
          "type": "string"
        }
      }
    },
    "edFi_parentElectronicMail": {
      "required": [ "electronicMailTypeDescriptor", "electronicMailAddress" ],
      "type": "object",
      "properties": {
        "electronicMailTypeDescriptor": {
          "description": "The type of email listed for an individual or organization. For example: Home/Personal, Work, etc.)",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "doNotPublishIndicator": {
          "description": "An indication that the electronic email address should not be published.",
          "type": "boolean"
        },
        "electronicMailAddress": {
          "description": "The electronic mail (e-mail) address listed for an individual or organization.",
          "maxLength": 128,
          "type": "string"
        },
        "primaryEmailAddressIndicator": {
          "description": "An indication that the electronic mail address should be used as the principal electronic mail address for an individual or organization.",
          "type": "boolean"
        }
      }
    },
    "edFi_parentInternationalAddress": {
      "required": [ "addressTypeDescriptor", "countryDescriptor", "addressLine1" ],
      "type": "object",
      "properties": {
        "addressTypeDescriptor": {
          "description": "The type of address listed for an individual or organization. For example:  Physical Address, Mailing Address, Home Address, etc.)",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "countryDescriptor": {
          "description": "The name of the country. It is strongly recommended that entries use only ISO 3166 2-letter country codes.",
          "maxLength": 306,
          "type": "string"
        },
        "addressLine1": {
          "description": "The first line of the address.",
          "maxLength": 150,
          "type": "string"
        },
        "addressLine2": {
          "description": "The second line of the address.",
          "maxLength": 150,
          "type": "string"
        },
        "addressLine3": {
          "description": "The third line of the address.",
          "maxLength": 150,
          "type": "string"
        },
        "addressLine4": {
          "description": "The fourth line of the address.",
          "maxLength": 150,
          "type": "string"
        },
        "beginDate": {
          "format": "date-time",
          "description": "The first date the address is valid. For physical addresses, the date the person moved to that address.",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "description": "The last date the address is valid. For physical addresses, this would be the date the person moved from that address.",
          "type": "string"
        },
        "latitude": {
          "description": "The geographic latitude of the physical address.",
          "maxLength": 20,
          "type": "string"
        },
        "longitude": {
          "description": "The geographic longitude of the physical address.",
          "maxLength": 20,
          "type": "string"
        }
      }
    },
    "edFi_parentLanguage": {
      "required": [ "languageDescriptor" ],
      "type": "object",
      "properties": {
        "languageDescriptor": {
          "description": "A specification of which written or spoken communication is being used.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "uses": {
          "description": "An unordered collection of parentLanguageUses. A description of how the language is used (e.g. Home Language, Native Language, Spoken Language).",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_parentLanguageUse" }
        }
      }
    },
    "edFi_parentLanguageUse": {
      "required": [ "languageUseDescriptor" ],
      "type": "object",
      "properties": {
        "languageUseDescriptor": {
          "description": "A description of how the language is used (e.g. Home Language, Native Language, Spoken Language).",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_parentOtherName": {
      "required": [ "otherNameTypeDescriptor", "firstName", "lastSurname" ],
      "type": "object",
      "properties": {
        "otherNameTypeDescriptor": {
          "description": "The types of alternate names for a person.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "firstName": {
          "description": "A name given to an individual at birth, baptism, or during another naming ceremony, or through legal change.",
          "maxLength": 75,
          "type": "string"
        },
        "generationCodeSuffix": {
          "description": "An appendage, if any, used to denote an individual's generation in his family (e.g., Jr., Sr., III).",
          "maxLength": 10,
          "type": "string"
        },
        "lastSurname": {
          "description": "The name borne in common by members of a family.",
          "maxLength": 75,
          "type": "string"
        },
        "middleName": {
          "description": "A secondary name given to an individual at birth, baptism, or during another naming ceremony.",
          "maxLength": 75,
          "type": "string"
        },
        "personalTitlePrefix": {
          "description": "A prefix used to denote the title, degree, position, or seniority of the person.",
          "maxLength": 30,
          "type": "string"
        }
      }
    },
    "edFi_parentPersonalIdentificationDocument": {
      "required": [ "identificationDocumentUseDescriptor", "personalInformationVerificationDescriptor" ],
      "type": "object",
      "properties": {
        "identificationDocumentUseDescriptor": {
          "description": "The primary function of the document used for establishing identity.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "personalInformationVerificationDescriptor": {
          "description": "The category of the document relative to its purpose.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "issuerCountryDescriptor": {
          "description": "Country of origin of the document. It is strongly recommended that entries use only ISO 3166 2-letter country codes.",
          "maxLength": 306,
          "type": "string"
        },
        "documentExpirationDate": {
          "format": "date-time",
          "description": "The day when the document  expires, if null then never expires.",
          "type": "string"
        },
        "documentTitle": {
          "description": "The title of the document given by the issuer.",
          "maxLength": 60,
          "type": "string"
        },
        "issuerDocumentIdentificationCode": {
          "description": "The unique identifier on the issuer's identification system.",
          "maxLength": 60,
          "type": "string"
        },
        "issuerName": {
          "description": "Name of the entity or institution that issued the document.",
          "maxLength": 150,
          "type": "string"
        }
      }
    },
    "edFi_parentReference": {
      "required": [ "parentUniqueId" ],
      "type": "object",
      "properties": {
        "parentUniqueId": {
          "format": "int32",
          "description": "A unique alphanumeric code assigned to a parent.",
          "type": "string"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_parentTelephone": {
      "required": [ "telephoneNumberTypeDescriptor", "telephoneNumber" ],
      "type": "object",
      "properties": {
        "telephoneNumberTypeDescriptor": {
          "description": "The type of communication number listed for an individual or organization.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "doNotPublishIndicator": {
          "description": "An indication that the telephone number should not be published.",
          "type": "boolean"
        },
        "orderOfPriority": {
          "format": "int32",
          "description": "The order of priority assigned to telephone numbers to define which number to attempt first, second, etc.",
          "type": "integer"
        },
        "telephoneNumber": {
          "description": "The telephone number including the area code, and extension, if applicable.",
          "maxLength": 24,
          "type": "string"
        },
        "textMessageCapabilityIndicator": {
          "description": "An indication that the telephone number is technically capable of sending and receiving Short Message Service (SMS) text messages.",
          "type": "boolean"
        }
      }
    },
    "edFi_program": {
      "required": [ "programTypeDescriptor", "programName", "id", "programId", "educationOrganizationReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "programName": {
          "description": "The formal name of the Program of instruction, training, services, or benefits available through federal, state, or local agencies.",
          "maxLength": 60,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "programTypeDescriptor": {
          "description": "The type of program.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "educationOrganizationReference": { "$ref": "#/definitions/edFi_educationOrganizationReference" },
        "characteristics": {
          "description": "An unordered collection of programCharacteristics. Reflects important characteristics of the Program, such as categories or particular indications.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_programCharacteristic" }
        },
        "programId": {
          "description": "A unique number or alphanumeric code assigned to a program by a school, school system, a state, or other agency or entity.",
          "maxLength": 20,
          "type": "string"
        },
        "services": {
          "description": "An unordered collection of programServices. Defines the services this program provides to students.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_programService" }
        },
        "sponsors": {
          "description": "An unordered collection of programSponsors. Ultimate and intermediate providers of funds for a particular educational or service program or activity, or for an individual's participation in the program or activity (e.g., Federal, State, ESC, District, School, Private Organization).",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_programSponsor" }
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_programCharacteristic": {
      "required": [ "programCharacteristicDescriptor" ],
      "type": "object",
      "properties": {
        "programCharacteristicDescriptor": {
          "description": "Reflects important characteristics of the Program, such as categories or particular indications.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_programReference": {
      "required": [ "educationOrganizationId", "programName", "programTypeDescriptor" ],
      "type": "object",
      "properties": {
        "educationOrganizationId": {
          "format": "int32",
          "description": "The identifier assigned to an education organization.",
          "type": "integer"
        },
        "programName": {
          "description": "The formal name of the Program of instruction, training, services, or benefits available through federal, state, or local agencies.",
          "maxLength": 60,
          "type": "string"
        },
        "programTypeDescriptor": {
          "description": "The type of program.",
          "maxLength": 306,
          "type": "string"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_programService": {
      "required": [ "serviceDescriptor" ],
      "type": "object",
      "properties": {
        "serviceDescriptor": {
          "description": "Defines the services this program provides to students.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_programSponsor": {
      "required": [ "programSponsorDescriptor" ],
      "type": "object",
      "properties": {
        "programSponsorDescriptor": {
          "description": "Ultimate and intermediate providers of funds for a particular educational or service program or activity, or for an individual's participation in the program or activity (e.g., Federal, State, ESC, District, School, Private Organization).",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_school": {
      "required": [ "schoolId", "id", "nameOfInstitution", "shortNameOfInstitution", "gradeLevels", "addresses", "educationOrganizationCategories", "localEducationAgencyReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "addresses": {
          "description": "An unordered collection of educationOrganizationAddresses. The set of elements that describes the physical location of the education entity, including the street address, city, state, ZIP code, and ZIP code + 4.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_educationOrganizationAddress" }
        },
        "educationOrganizationCategories": {
          "description": "An unordered collection of educationOrganizationCategories. 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.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_educationOrganizationCategory" }
        },
        "gradeLevels": {
          "description": "An unordered collection of schoolGradeLevels. The grade levels served at the school.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_schoolGradeLevel" }
        },
        "schoolId": {
          "format": "int32",
          "description": "The identifier assigned to a school.",
          "type": "integer",
          "x-Ed-Fi-isIdentity": true
        },
        "charterApprovalSchoolYearTypeReference": { "$ref": "#/definitions/edFi_schoolYearTypeReference" },
        "localEducationAgencyReference": { "$ref": "#/definitions/edFi_localEducationAgencyReference" },
        "administrativeFundingControlDescriptor": {
          "description": "The type of education institution as classified by its funding source, for example public or private.",
          "maxLength": 306,
          "type": "string"
        },
        "charterApprovalAgencyTypeDescriptor": {
          "description": "The type of agency that approved the establishment or continuation of a charter school.",
          "maxLength": 306,
          "type": "string"
        },
        "charterStatusDescriptor": {
          "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.",
          "maxLength": 306,
          "type": "string"
        },
        "identificationCodes": {
          "description": "An unordered collection of educationOrganizationIdentificationCodes. A unique number or alphanumeric code assigned to an education organization by a school, school system, a state, or other agency or entity.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_educationOrganizationIdentificationCode" }
        },
        "institutionTelephones": {
          "description": "An unordered collection of educationOrganizationInstitutionTelephones. The 10-digit telephone number, including the area code, for the education entity.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_educationOrganizationInstitutionTelephone" }
        },
        "internationalAddresses": {
          "description": "An unordered collection of educationOrganizationInternationalAddresses. The set of elements that describes the international physical location of the education entity.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_educationOrganizationInternationalAddress" }
        },
        "internetAccessDescriptor": {
          "description": "The type of Internet access available.",
          "maxLength": 306,
          "type": "string"
        },
        "magnetSpecialProgramEmphasisSchoolDescriptor": {
          "description": "A school that has been designed: 1) to attract students of different racial/ethnic backgrounds for the purpose of reducing, preventing, or eliminating racial isolation; and/or 2) to provide an academic or social focus on a particular theme (e.g., science/math, performing arts, gifted/talented, or foreign language).",
          "maxLength": 306,
          "type": "string"
        },
        "nameOfInstitution": {
          "description": "The full, legally accepted name of the institution.",
          "maxLength": 75,
          "type": "string"
        },
        "operationalStatusDescriptor": {
          "description": "The current operational status of the EducationOrganization (e.g., active, inactive).",
          "maxLength": 306,
          "type": "string"
        },
        "schoolCategories": {
          "description": "An unordered collection of schoolCategories. The one or more categories of school. For example: High School, Middle School, and/or Elementary School.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_schoolCategory" }
        },
        "schoolTypeDescriptor": {
          "description": "The type of education institution as classified by its primary focus.",
          "maxLength": 306,
          "type": "string"
        },
        "shortNameOfInstitution": {
          "description": "A short name for the institution.",
          "maxLength": 75,
          "type": "string"
        },
        "titleIPartASchoolDesignationDescriptor": {
          "description": "Denotes the Title I Part A designation for the school.",
          "maxLength": 306,
          "type": "string"
        },
        "webSite": {
          "description": "The public web site address (URL) for the EducationOrganization.",
          "maxLength": 255,
          "type": "string"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_schoolCategory": {
      "required": [ "schoolCategoryDescriptor" ],
      "type": "object",
      "properties": {
        "schoolCategoryDescriptor": {
          "description": "The one or more categories of school. For example: High School, Middle School, and/or Elementary School.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_schoolGradeLevel": {
      "required": [ "gradeLevelDescriptor" ],
      "type": "object",
      "properties": {
        "gradeLevelDescriptor": {
          "description": "The grade levels served at the school.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_schoolReference": {
      "required": [ "schoolId" ],
      "type": "object",
      "properties": {
        "schoolId": {
          "format": "int32",
          "description": "The identifier assigned to a school.",
          "type": "integer"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_schoolYearType": {
      "required": [ "schoolYear", "currentSchoolYear", "id", "schoolYearDescription" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "schoolYear": {
          "format": "int32",
          "description": "Key for School Year",
          "type": "integer",
          "x-Ed-Fi-isIdentity": true
        },
        "currentSchoolYear": {
          "description": "The code for the current school year.",
          "type": "boolean"
        },
        "schoolYearDescription": {
          "description": "The description for the SchoolYear type.",
          "maxLength": 50,
          "type": "string"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_schoolYearTypeReference": {
      "required": [ "schoolYear" ],
      "type": "object",
      "properties": {
        "schoolYear": {
          "format": "int32",
          "description": "Key for School Year",
          "type": "integer"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_section": {
      "required": [ "sectionIdentifier", "educationalEnvironmentDescriptor", "availableCredits", "id", "sequenceOfCourse", "classPeriods", "courseOfferingReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "classPeriods": {
          "description": "An unordered collection of sectionClassPeriods. The class period during which the Section meets.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_sectionClassPeriod" }
        },
        "sectionIdentifier": {
          "description": "The local identifier assigned to a section.",
          "maxLength": 255,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "courseOfferingReference": { "$ref": "#/definitions/edFi_courseOfferingReference" },
        "locationReference": { "$ref": "#/definitions/edFi_locationReference" },
        "locationSchoolReference": { "$ref": "#/definitions/edFi_schoolReference" },
        "availableCreditConversion": {
          "format": "double",
          "description": "Conversion factor that when multiplied by the number of credits is equivalent to Carnegie units.",
          "type": "number"
        },
        "availableCredits": {
          "format": "double",
          "description": "The value of credits or units of value awarded for the completion of a course.",
          "type": "number"
        },
        "availableCreditTypeDescriptor": {
          "description": "The type of credits or units of value awarded for the completion of a course.",
          "maxLength": 306,
          "type": "string"
        },
        "characteristics": {
          "description": "An unordered collection of sectionCharacteristics. Reflects important characteristics of the Section, such as whether or not attendance is taken and the Section is graded.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_sectionCharacteristic" }
        },
        "educationalEnvironmentDescriptor": {
          "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          ...",
          "maxLength": 306,
          "type": "string"
        },
        "instructionLanguageDescriptor": {
          "description": "The primary language of instruction, if omitted English is assumed.",
          "maxLength": 306,
          "type": "string"
        },
        "mediumOfInstructionDescriptor": {
          "description": "The media through which teachers provide instruction to students and students and teachers communicate about instructional matters; for example:          Technology-based instruction in classroom          Correspondence instruction          Face-to-face instruction          Virtual/On-line Distance learning          Center-based instruction          ...",
          "maxLength": 306,
          "type": "string"
        },
        "populationServedDescriptor": {
          "description": "The type of students the Section is offered and tailored to; for example:          Bilingual students          Remedial education students          Gifted and talented students          Career and Technical Education students          Special education students          ...",
          "maxLength": 306,
          "type": "string"
        },
        "programs": {
          "description": "An unordered collection of sectionPrograms. Optional reference to program (e.g., CTE) to which the Section is associated.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_sectionProgram" }
        },
        "sequenceOfCourse": {
          "format": "int32",
          "description": "When a section is part of a sequence of parts for a course, the number of the sequence. If the course has only one part, the value of this section attribute should be 1.",
          "type": "integer"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_sectionCharacteristic": {
      "required": [ "sectionCharacteristicDescriptor" ],
      "type": "object",
      "properties": {
        "sectionCharacteristicDescriptor": {
          "description": "Reflects important characteristics of the Section, such as whether or not attendance is taken and the Section is graded.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_sectionClassPeriod": {
      "required": [ "classPeriodReference" ],
      "type": "object",
      "properties": { "classPeriodReference": { "$ref": "#/definitions/edFi_classPeriodReference" } }
    },
    "edFi_sectionProgram": {
      "required": [ "programReference" ],
      "type": "object",
      "properties": { "programReference": { "$ref": "#/definitions/edFi_programReference" } }
    },
    "edFi_sectionReference": {
      "required": [ "localCourseCode", "schoolId", "schoolYear", "sectionIdentifier", "sessionName" ],
      "type": "object",
      "properties": {
        "localCourseCode": {
          "description": "The local code assigned by the School that identifies the course offering provided for the instruction of students.",
          "maxLength": 60,
          "type": "string"
        },
        "schoolId": {
          "format": "int32",
          "description": "The identifier assigned to a school.",
          "type": "integer"
        },
        "schoolYear": {
          "format": "int32",
          "description": "The identifier for the school year.",
          "type": "integer"
        },
        "sectionIdentifier": {
          "description": "The local identifier assigned to a section.",
          "maxLength": 255,
          "type": "string"
        },
        "sessionName": {
          "description": "The identifier for the calendar for the academic session (e.g., 2010/11, 2011 Summer).",
          "maxLength": 60,
          "type": "string"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_session": {
      "required": [ "sessionName", "termDescriptor", "beginDate", "endDate", "id", "totalInstructionalDays", "gradingPeriods", "schoolReference", "schoolYearTypeReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "gradingPeriods": {
          "description": "An unordered collection of sessionGradingPeriods. Grading periods associated with the session.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_sessionGradingPeriod" }
        },
        "sessionName": {
          "description": "The identifier for the calendar for the academic session (e.g., 2010/11, 2011 Summer).",
          "maxLength": 60,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "schoolReference": { "$ref": "#/definitions/edFi_schoolReference" },
        "schoolYearTypeReference": { "$ref": "#/definitions/edFi_schoolYearTypeReference" },
        "beginDate": {
          "format": "date-time",
          "description": "Month, day, and year of the first day of the Session.",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "description": "Month, day and year of the last day of the Session.",
          "type": "string"
        },
        "termDescriptor": {
          "description": "An descriptor value indicating the term (e.g. 'Fall Semester', 'Second Quarter', 'Summer Semester', etc.).",
          "maxLength": 306,
          "type": "string"
        },
        "totalInstructionalDays": {
          "format": "int32",
          "description": "The total number of instructional days in the school calendar.",
          "type": "integer"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_sessionGradingPeriod": {
      "required": [ "gradingPeriodReference" ],
      "type": "object",
      "properties": { "gradingPeriodReference": { "$ref": "#/definitions/edFi_gradingPeriodReference" } }
    },
    "edFi_sessionReference": {
      "required": [ "schoolId", "schoolYear", "sessionName" ],
      "type": "object",
      "properties": {
        "schoolId": {
          "format": "int32",
          "description": "The identifier assigned to a school.",
          "type": "integer"
        },
        "schoolYear": {
          "format": "int32",
          "description": "The identifier for the school year.",
          "type": "integer"
        },
        "sessionName": {
          "description": "The identifier for the calendar for the academic session (e.g., 2010/11, 2011 Summer).",
          "maxLength": 60,
          "type": "string"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_staff": {
      "required": [ "staffUniqueId", "highestCompletedLevelOfEducationDescriptor", "sexDescriptor", "birthDate", "firstName", "highlyQualifiedTeacher", "hispanicLatinoEthnicity", "id", "lastSurname", "electronicMails" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "electronicMails": {
          "description": "An unordered collection of staffElectronicMails. The numbers, letters, and symbols used to identify an electronic mail (e-mail) user within the network to which the individual or organization belongs.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_staffElectronicMail" }
        },
        "staffUniqueId": {
          "description": "A unique alphanumeric code assigned to a staff.",
          "maxLength": 32,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "addresses": {
          "description": "An unordered collection of staffAddresses. The set of elements that describes an address, including the street address, city, state, and ZIP code.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_staffAddress" }
        },
        "birthDate": {
          "format": "date-time",
          "description": "The month, day, and year on which an individual was born.",
          "type": "string"
        },
        "citizenshipStatusDescriptor": {
          "description": "An indicator of whether or not the person is a U.S. citizen.",
          "maxLength": 306,
          "type": "string"
        },
        "firstName": {
          "description": "A name given to an individual at birth, baptism, or during another naming ceremony, or through legal change.",
          "maxLength": 75,
          "type": "string"
        },
        "generationCodeSuffix": {
          "description": "An appendage, if any, used to denote an individual's generation in his family (e.g., Jr., Sr., III).",
          "maxLength": 10,
          "type": "string"
        },
        "highestCompletedLevelOfEducationDescriptor": {
          "description": "The extent of formal instruction an individual has received (e.g., the highest grade in school completed or its equivalent or the highest degree received).",
          "maxLength": 306,
          "type": "string"
        },
        "highlyQualifiedTeacher": {
          "description": "An indication of whether a teacher is classified as highly qualified for his/her assignment according to state definition. This attribute indicates the teacher is highly qualified for ALL Sections being taught.",
          "type": "boolean"
        },
        "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"
        },
        "identificationCodes": {
          "description": "An unordered collection of staffIdentificationCodes. A unique number or alphanumeric code assigned to a staff member by a school, school system, a state, or other agency or entity.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_staffIdentificationCode" }
        },
        "identificationDocuments": {
          "description": "An unordered collection of staffIdentificationDocuments. Describe the documentation of citizenship.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_staffIdentificationDocument" }
        },
        "internationalAddresses": {
          "description": "An unordered collection of staffInternationalAddresses. The set of elements that describes an international address.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_staffInternationalAddress" }
        },
        "languages": {
          "description": "An unordered collection of staffLanguages. The language(s) the individual uses to communicate. It is strongly recommended that entries use only ISO 639-2 language codes.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_staffLanguage" }
        },
        "lastSurname": {
          "description": "The name borne in common by members of a family.",
          "maxLength": 75,
          "type": "string"
        },
        "loginId": {
          "description": "The login ID for the user; used for security access control interface.",
          "maxLength": 60,
          "type": "string"
        },
        "maidenName": {
          "description": "The person's maiden name.",
          "maxLength": 75,
          "type": "string"
        },
        "middleName": {
          "description": "A secondary name given to an individual at birth, baptism, or during another naming ceremony.",
          "maxLength": 75,
          "type": "string"
        },
        "oldEthnicityDescriptor": {
          "description": "Previous definition of Ethnicity combining Hispanic/Latino and race:          1 - American Indian or Alaskan Native          2 - Asian or Pacific Islander          3 - Black, not of Hispanic origin          4 - Hispanic          5 - White, not of Hispanic origin.",
          "maxLength": 306,
          "type": "string"
        },
        "otherNames": {
          "description": "An unordered collection of staffOtherNames. Other names (e.g., alias, nickname, previous legal name) associated with a person.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_staffOtherName" }
        },
        "personalIdentificationDocuments": {
          "description": "An unordered collection of staffPersonalIdentificationDocuments. The documents presented as evident to verify one's personal identity; for example: drivers license, passport, birth certificate, etc.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_staffPersonalIdentificationDocument" }
        },
        "personalTitlePrefix": {
          "description": "A prefix used to denote the title, degree, position, or seniority of the person.",
          "maxLength": 30,
          "type": "string"
        },
        "races": {
          "description": "An unordered collection of staffRaces. 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.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_staffRace" }
        },
        "recognitions": {
          "description": "An unordered collection of staffRecognitions. Recognitions given to the staff for accomplishments in a co-curricular or extracurricular activity.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_staffRecognition" }
        },
        "sexDescriptor": {
          "description": "A person's gender.",
          "maxLength": 306,
          "type": "string"
        },
        "telephones": {
          "description": "An unordered collection of staffTelephones. The 10-digit telephone number, including the area code, for the person.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_staffTelephone" }
        },
        "tribalAffiliations": {
          "description": "An unordered collection of staffTribalAffiliations. An American Indian tribe with which the staff member is affiliated.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_staffTribalAffiliation" }
        },
        "visas": {
          "description": "An unordered collection of staffVisas. An indicator of a non-US citizen's Visa type.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_staffVisa" }
        },
        "yearsOfPriorProfessionalExperience": {
          "format": "double",
          "description": "The total number of years that an individual has previously held a similar professional position in one or more education institutions.",
          "type": "number"
        },
        "yearsOfPriorTeachingExperience": {
          "format": "double",
          "description": "The total number of years that an individual has previously held a teaching position in one or more education institutions.",
          "type": "number"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_staffAddress": {
      "required": [ "addressTypeDescriptor", "stateAbbreviationDescriptor", "city", "postalCode", "streetNumberName" ],
      "type": "object",
      "properties": {
        "addressTypeDescriptor": {
          "description": "The type of address listed for an individual or organization.    For example:  Physical Address, Mailing Address, Home Address, etc.)",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "stateAbbreviationDescriptor": {
          "description": "The abbreviation for the state (within the United States) or outlying area in which an address is located.",
          "maxLength": 306,
          "type": "string"
        },
        "apartmentRoomSuiteNumber": {
          "description": "The apartment, room, or suite number of an address.",
          "maxLength": 50,
          "type": "string"
        },
        "buildingSiteNumber": {
          "description": "The number of the building on the site, if more than one building shares the same address.",
          "maxLength": 20,
          "type": "string"
        },
        "city": {
          "description": "The name of the city in which an address is located.",
          "maxLength": 30,
          "type": "string"
        },
        "countyFIPSCode": {
          "description": "The Federal Information Processing Standards (FIPS) numeric code for the county issued by the National Institute of Standards and Technology (NIST). Counties are considered to be the \"first-order subdivisions\" of each State and statistically equivalent entity, regardless of their local designations (county, parish, borough, etc.) Counties in different States will have the same code. A unique county number is created when combined with the 2-digit FIPS State Code.",
          "maxLength": 5,
          "type": "string"
        },
        "doNotPublishIndicator": {
          "description": "An indication that the address should not be published.",
          "type": "boolean"
        },
        "latitude": {
          "description": "The geographic latitude of the physical address.",
          "maxLength": 20,
          "type": "string"
        },
        "longitude": {
          "description": "The geographic longitude of the physical address.",
          "maxLength": 20,
          "type": "string"
        },
        "nameOfCounty": {
          "description": "The name of the county, parish, borough, or comparable unit (within a state) in                        'which an address is located.",
          "maxLength": 30,
          "type": "string"
        },
        "postalCode": {
          "description": "The five or nine digit zip code or overseas postal code portion of an address.",
          "maxLength": 17,
          "type": "string"
        },
        "streetNumberName": {
          "description": "The street number and street name or post office box number of an address.",
          "maxLength": 150,
          "type": "string"
        },
        "periods": {
          "description": "An unordered collection of staffAddressPeriods. The time periods for which the address is valid. For physical addresses, the periods in which the person lived at that address.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_staffAddressPeriod" }
        }
      }
    },
    "edFi_staffAddressPeriod": {
      "required": [ "beginDate" ],
      "type": "object",
      "properties": {
        "beginDate": {
          "format": "date-time",
          "description": "The month, day, and year for the start of the period.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "endDate": {
          "format": "date-time",
          "description": "The month, day, and year for the end of the period.",
          "type": "string"
        }
      }
    },
    "edFi_staffCohortAssociation": {
      "required": [ "beginDate", "id", "cohortReference", "staffReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "beginDate": {
          "format": "date-time",
          "description": "Start date for the association of staff to this cohort.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "cohortReference": { "$ref": "#/definitions/edFi_cohortReference" },
        "staffReference": { "$ref": "#/definitions/edFi_staffReference" },
        "endDate": {
          "format": "date-time",
          "description": "End date for the association of staff to this cohort.",
          "type": "string"
        },
        "studentRecordAccess": {
          "description": "Indicator of whether the staff has access to the student records of the cohort per district interpretation of FERPA and other privacy laws, regulations, and policies.",
          "type": "boolean"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_staffEducationOrganizationAssignmentAssociation": {
      "required": [ "staffClassificationDescriptor", "beginDate", "id", "positionTitle", "educationOrganizationReference", "staffReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "beginDate": {
          "format": "date-time",
          "description": "Month, day, and year of the start or effective date of a staff member's employment, contract, or relationship with the LEA.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "staffClassificationDescriptor": {
          "description": "The titles of employment, official status, or rank of education staff.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "educationOrganizationReference": { "$ref": "#/definitions/edFi_educationOrganizationReference" },
        "staffReference": { "$ref": "#/definitions/edFi_staffReference" },
        "endDate": {
          "format": "date-time",
          "description": "Month, day, and year of the end or termination date of a staff member's employment, contract, or relationship with the LEA.",
          "type": "string"
        },
        "orderOfAssignment": {
          "format": "int32",
          "description": "Describes whether the assignment is this the staff member's primary assignment, secondary assignment, etc.",
          "type": "integer"
        },
        "positionTitle": {
          "description": "The descriptive name of an individual's position.",
          "maxLength": 100,
          "type": "string"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_staffElectronicMail": {
      "required": [ "electronicMailTypeDescriptor", "electronicMailAddress" ],
      "type": "object",
      "properties": {
        "electronicMailTypeDescriptor": {
          "description": "The type of email listed for an individual or organization. For example: Home/Personal, Work, etc.)",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "doNotPublishIndicator": {
          "description": "An indication that the electronic email address should not be published.",
          "type": "boolean"
        },
        "electronicMailAddress": {
          "description": "The electronic mail (e-mail) address listed for an individual or organization.",
          "maxLength": 128,
          "type": "string"
        },
        "primaryEmailAddressIndicator": {
          "description": "An indication that the electronic mail address should be used as the principal electronic mail address for an individual or organization.",
          "type": "boolean"
        }
      }
    },
    "edFi_staffIdentificationCode": {
      "required": [ "staffIdentificationSystemDescriptor", "identificationCode" ],
      "type": "object",
      "properties": {
        "staffIdentificationSystemDescriptor": {
          "description": "A coding scheme that is used for identification and record-keeping purposes by schools, social services, or other agencies to refer to a staff member.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "assigningOrganizationIdentificationCode": {
          "description": "The organization code or name assigning the staff Identification Code.",
          "maxLength": 60,
          "type": "string"
        },
        "identificationCode": {
          "description": "A unique number or alphanumeric code assigned to a staff member by a school, school system, a state, or other agency or entity.",
          "maxLength": 60,
          "type": "string"
        }
      }
    },
    "edFi_staffIdentificationDocument": {
      "required": [ "identificationDocumentUseDescriptor", "personalInformationVerificationDescriptor" ],
      "type": "object",
      "properties": {
        "identificationDocumentUseDescriptor": {
          "description": "The primary function of the document used for establishing identity.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "personalInformationVerificationDescriptor": {
          "description": "The category of the document relative to its purpose.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "issuerCountryDescriptor": {
          "description": "Country of origin of the document. It is strongly recommended that entries use only ISO 3166 2-letter country codes.",
          "maxLength": 306,
          "type": "string"
        },
        "documentExpirationDate": {
          "format": "date-time",
          "description": "The day when the document  expires, if null then never expires.",
          "type": "string"
        },
        "documentTitle": {
          "description": "The title of the document given by the issuer.",
          "maxLength": 60,
          "type": "string"
        },
        "issuerDocumentIdentificationCode": {
          "description": "The unique identifier on the issuer's identification system.",
          "maxLength": 60,
          "type": "string"
        },
        "issuerName": {
          "description": "Name of the entity or institution that issued the document.",
          "maxLength": 150,
          "type": "string"
        }
      }
    },
    "edFi_staffInternationalAddress": {
      "required": [ "addressTypeDescriptor", "countryDescriptor", "addressLine1" ],
      "type": "object",
      "properties": {
        "addressTypeDescriptor": {
          "description": "The type of address listed for an individual or organization. For example:  Physical Address, Mailing Address, Home Address, etc.)",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "countryDescriptor": {
          "description": "The name of the country. It is strongly recommended that entries use only ISO 3166 2-letter country codes.",
          "maxLength": 306,
          "type": "string"
        },
        "addressLine1": {
          "description": "The first line of the address.",
          "maxLength": 150,
          "type": "string"
        },
        "addressLine2": {
          "description": "The second line of the address.",
          "maxLength": 150,
          "type": "string"
        },
        "addressLine3": {
          "description": "The third line of the address.",
          "maxLength": 150,
          "type": "string"
        },
        "addressLine4": {
          "description": "The fourth line of the address.",
          "maxLength": 150,
          "type": "string"
        },
        "beginDate": {
          "format": "date-time",
          "description": "The first date the address is valid. For physical addresses, the date the person moved to that address.",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "description": "The last date the address is valid. For physical addresses, this would be the date the person moved from that address.",
          "type": "string"
        },
        "latitude": {
          "description": "The geographic latitude of the physical address.",
          "maxLength": 20,
          "type": "string"
        },
        "longitude": {
          "description": "The geographic longitude of the physical address.",
          "maxLength": 20,
          "type": "string"
        }
      }
    },
    "edFi_staffLanguage": {
      "required": [ "languageDescriptor" ],
      "type": "object",
      "properties": {
        "languageDescriptor": {
          "description": "A specification of which written or spoken communication is being used.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "uses": {
          "description": "An unordered collection of staffLanguageUses. A description of how the language is used (e.g. Home Language, Native Language, Spoken Language).",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_staffLanguageUse" }
        }
      }
    },
    "edFi_staffLanguageUse": {
      "required": [ "languageUseDescriptor" ],
      "type": "object",
      "properties": {
        "languageUseDescriptor": {
          "description": "A description of how the language is used (e.g. Home Language, Native Language, Spoken Language).",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_staffOtherName": {
      "required": [ "otherNameTypeDescriptor", "firstName", "lastSurname" ],
      "type": "object",
      "properties": {
        "otherNameTypeDescriptor": {
          "description": "The types of alternate names for a person.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "firstName": {
          "description": "A name given to an individual at birth, baptism, or during another naming ceremony, or through legal change.",
          "maxLength": 75,
          "type": "string"
        },
        "generationCodeSuffix": {
          "description": "An appendage, if any, used to denote an individual's generation in his family (e.g., Jr., Sr., III).",
          "maxLength": 10,
          "type": "string"
        },
        "lastSurname": {
          "description": "The name borne in common by members of a family.",
          "maxLength": 75,
          "type": "string"
        },
        "middleName": {
          "description": "A secondary name given to an individual at birth, baptism, or during another naming ceremony.",
          "maxLength": 75,
          "type": "string"
        },
        "personalTitlePrefix": {
          "description": "A prefix used to denote the title, degree, position, or seniority of the person.",
          "maxLength": 30,
          "type": "string"
        }
      }
    },
    "edFi_staffPersonalIdentificationDocument": {
      "required": [ "identificationDocumentUseDescriptor", "personalInformationVerificationDescriptor" ],
      "type": "object",
      "properties": {
        "identificationDocumentUseDescriptor": {
          "description": "The primary function of the document used for establishing identity.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "personalInformationVerificationDescriptor": {
          "description": "The category of the document relative to its purpose.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "issuerCountryDescriptor": {
          "description": "Country of origin of the document. It is strongly recommended that entries use only ISO 3166 2-letter country codes.",
          "maxLength": 306,
          "type": "string"
        },
        "documentExpirationDate": {
          "format": "date-time",
          "description": "The day when the document  expires, if null then never expires.",
          "type": "string"
        },
        "documentTitle": {
          "description": "The title of the document given by the issuer.",
          "maxLength": 60,
          "type": "string"
        },
        "issuerDocumentIdentificationCode": {
          "description": "The unique identifier on the issuer's identification system.",
          "maxLength": 60,
          "type": "string"
        },
        "issuerName": {
          "description": "Name of the entity or institution that issued the document.",
          "maxLength": 150,
          "type": "string"
        }
      }
    },
    "edFi_staffRace": {
      "required": [ "raceDescriptor" ],
      "type": "object",
      "properties": {
        "raceDescriptor": {
          "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.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_staffRecognition": {
      "required": [ "recognitionTypeDescriptor" ],
      "type": "object",
      "properties": {
        "recognitionTypeDescriptor": {
          "description": "The nature of recognition given to the learner for accomplishments in a co-curricular, or extra-curricular activity.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "achievementCategoryDescriptor": {
          "description": "The category of achievement attributed to the learner.",
          "maxLength": 306,
          "type": "string"
        },
        "achievementCategorySystem": {
          "description": "The system that defines the categories by which an achievement is attributed to the learner.",
          "maxLength": 60,
          "type": "string"
        },
        "achievementTitle": {
          "description": "The title assigned to the achievement.",
          "maxLength": 60,
          "type": "string"
        },
        "criteria": {
          "description": "The criteria for competency-based completion of the achievement/award.",
          "maxLength": 150,
          "type": "string"
        },
        "criteriaURL": {
          "description": "The Uniform Resource Locator (URL) for the unique address of a web page describing the competency-based completion criteria for the achievement/award.",
          "maxLength": 255,
          "type": "string"
        },
        "evidenceStatement": {
          "description": "A statement or reference describing the evidence that the learner met the criteria for attainment of the Achievement.",
          "maxLength": 150,
          "type": "string"
        },
        "imageURL": {
          "description": "The Uniform Resource Locator (URL) for the unique address of an image representing an award or badge associated with the Achievement.",
          "maxLength": 255,
          "type": "string"
        },
        "issuerName": {
          "description": "The name of the agent, entity, or institution issuing the element.",
          "maxLength": 150,
          "type": "string"
        },
        "issuerOriginURL": {
          "description": "The Uniform Resource Locator (URL) from which the award was issued.",
          "maxLength": 255,
          "type": "string"
        },
        "recognitionAwardDate": {
          "format": "date-time",
          "description": "The date the recognition was awarded or earned.",
          "type": "string"
        },
        "recognitionAwardExpiresDate": {
          "format": "date-time",
          "description": "Date on which the award expires.",
          "type": "string"
        },
        "recognitionDescription": {
          "description": "A description of the type of academic distinctions earned by or awarded to the individual.",
          "maxLength": 80,
          "type": "string"
        }
      }
    },
    "edFi_staffReference": {
      "required": [ "staffUniqueId" ],
      "type": "object",
      "properties": {
        "staffUniqueId": {
          "format": "int32",
          "description": "A unique alphanumeric code assigned to a staff.",
          "type": "string"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_staffSchoolAssociation": {
      "required": [ "programAssignmentDescriptor", "id", "academicSubjects", "schoolReference", "staffReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "academicSubjects": {
          "description": "An unordered collection of staffSchoolAssociationAcademicSubjects. The teaching field taught by an individual, for example English/Language Arts, Reading, Mathematics, Science, Social Sciences, etc.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_staffSchoolAssociationAcademicSubject" }
        },
        "programAssignmentDescriptor": {
          "description": "The name of the program for which the individual is assigned; for example:          Regular education          Title I-Academic          Title I-Non-Academic          Special Education          Bilingual/English as a Second Language.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "calendarReference": { "$ref": "#/definitions/edFi_calendarReference" },
        "schoolReference": { "$ref": "#/definitions/edFi_schoolReference" },
        "schoolYearTypeReference": { "$ref": "#/definitions/edFi_schoolYearTypeReference" },
        "staffReference": { "$ref": "#/definitions/edFi_staffReference" },
        "gradeLevels": {
          "description": "An unordered collection of staffSchoolAssociationGradeLevels. The set of grade levels for which the individual's assignment is responsible.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_staffSchoolAssociationGradeLevel" }
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_staffSchoolAssociationAcademicSubject": {
      "required": [ "academicSubjectDescriptor" ],
      "type": "object",
      "properties": {
        "academicSubjectDescriptor": {
          "description": "The teaching field taught by an individual, for example English/Language Arts, Reading, Mathematics, Science, Social Sciences, etc.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_staffSchoolAssociationGradeLevel": {
      "required": [ "gradeLevelDescriptor" ],
      "type": "object",
      "properties": {
        "gradeLevelDescriptor": {
          "description": "The set of grade levels for which the individual's assignment is responsible.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_staffSectionAssociation": {
      "required": [ "classroomPositionDescriptor", "beginDate", "id", "sectionReference", "staffReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "sectionReference": { "$ref": "#/definitions/edFi_sectionReference" },
        "staffReference": { "$ref": "#/definitions/edFi_staffReference" },
        "beginDate": {
          "format": "date-time",
          "description": "Month, day, and year of a teacher's assignment to the Section. If blank, defaults to the first day of the first grading period for the Section.",
          "type": "string"
        },
        "classroomPositionDescriptor": {
          "description": "The type of position the Staff member holds in the specific class/section; for example:          Teacher of Record, Assistant Teacher, Support Teacher, Substitute Teacher...",
          "maxLength": 306,
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "description": "Month, day, and year of the last day of a staff member's assignment to the Section.",
          "type": "string"
        },
        "highlyQualifiedTeacher": {
          "description": "An indication of whether a teacher is classified as highly qualified for his/her assignment according to state definition. This attribute indicates the teacher is highly qualified for this section being taught.",
          "type": "boolean"
        },
        "percentageContribution": {
          "format": "double",
          "description": "Indicates the percentage of the total scheduled course time, academic standards, and/or learning activities delivered in this section by this staff member. A teacher of record designation may be based solely or partially on this contribution percentage.",
          "type": "number"
        },
        "teacherStudentDataLinkExclusion": {
          "description": "Indicates that the entire section is excluded from calculation of value-added or growth attribution calculations used for a particular teacher evaluation.",
          "type": "boolean"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_staffTelephone": {
      "required": [ "telephoneNumberTypeDescriptor", "telephoneNumber" ],
      "type": "object",
      "properties": {
        "telephoneNumberTypeDescriptor": {
          "description": "The type of communication number listed for an individual or organization.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "doNotPublishIndicator": {
          "description": "An indication that the telephone number should not be published.",
          "type": "boolean"
        },
        "orderOfPriority": {
          "format": "int32",
          "description": "The order of priority assigned to telephone numbers to define which number to attempt first, second, etc.",
          "type": "integer"
        },
        "telephoneNumber": {
          "description": "The telephone number including the area code, and extension, if applicable.",
          "maxLength": 24,
          "type": "string"
        },
        "textMessageCapabilityIndicator": {
          "description": "An indication that the telephone number is technically capable of sending and receiving Short Message Service (SMS) text messages.",
          "type": "boolean"
        }
      }
    },
    "edFi_staffTribalAffiliation": {
      "required": [ "tribalAffiliationDescriptor" ],
      "type": "object",
      "properties": {
        "tribalAffiliationDescriptor": {
          "description": "An American Indian tribe with which the staff member is affiliated.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_staffVisa": {
      "required": [ "visaDescriptor" ],
      "type": "object",
      "properties": {
        "visaDescriptor": {
          "description": "An indicator of a non-US citizen's Visa type.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_student": {
      "required": [ "studentUniqueId", "birthDate", "firstName", "id", "lastSurname" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "studentUniqueId": {
          "description": "A unique alphanumeric code assigned to a student.",
          "maxLength": 32,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "birthCity": {
          "description": "The city the student was born in.",
          "maxLength": 30,
          "type": "string"
        },
        "birthCountryDescriptor": {
          "description": "The country in which an individual is born. It is strongly recommended that entries use only ISO 3166 2-letter country codes.",
          "maxLength": 306,
          "type": "string"
        },
        "birthDate": {
          "format": "date-time",
          "description": "The month, day, and year on which an individual was born.",
          "type": "string"
        },
        "birthInternationalProvince": {
          "description": "For students born outside of the U.S., the Province or jurisdiction in which an individual is born.",
          "maxLength": 150,
          "type": "string"
        },
        "birthSexDescriptor": {
          "description": "A person's gender at birth.",
          "maxLength": 306,
          "type": "string"
        },
        "birthStateAbbreviationDescriptor": {
          "description": "The abbreviation for the name of the state (within the United States) or extra-state jurisdiction in which an individual was born.",
          "maxLength": 306,
          "type": "string"
        },
        "citizenshipStatusDescriptor": {
          "description": "An indicator of whether or not the person is a U.S. citizen.",
          "maxLength": 306,
          "type": "string"
        },
        "dateEnteredUS": {
          "format": "date-time",
          "description": "For students born outside of the U.S., the date the student entered the U.S.",
          "type": "string"
        },
        "firstName": {
          "description": "A name given to an individual at birth, baptism, or during another naming ceremony, or through legal change.",
          "maxLength": 75,
          "type": "string"
        },
        "generationCodeSuffix": {
          "description": "An appendage, if any, used to denote an individual's generation in his family (e.g., Jr., Sr., III).",
          "maxLength": 10,
          "type": "string"
        },
        "identificationDocuments": {
          "description": "An unordered collection of studentIdentificationDocuments. Describe the documentation of citizenship.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentIdentificationDocument" }
        },
        "lastSurname": {
          "description": "The name borne in common by members of a family.",
          "maxLength": 75,
          "type": "string"
        },
        "maidenName": {
          "description": "The person's maiden name.",
          "maxLength": 75,
          "type": "string"
        },
        "middleName": {
          "description": "A secondary name given to an individual at birth, baptism, or during another naming ceremony.",
          "maxLength": 75,
          "type": "string"
        },
        "multipleBirthStatus": {
          "description": "Indicator of whether the student was born with other siblings (i.e., twins, triplets, etc.)",
          "type": "boolean"
        },
        "otherNames": {
          "description": "An unordered collection of studentOtherNames. Other names (e.g., alias, nickname, previous legal name) associated with a person.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentOtherName" }
        },
        "personalIdentificationDocuments": {
          "description": "An unordered collection of studentPersonalIdentificationDocuments. The documents presented as evident to verify one's personal identity; for example: drivers license, passport, birth certificate, etc.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentPersonalIdentificationDocument" }
        },
        "personalTitlePrefix": {
          "description": "A prefix used to denote the title, degree, position, or seniority of the person.",
          "maxLength": 30,
          "type": "string"
        },
        "visas": {
          "description": "An unordered collection of studentVisas. An indicator of a non-US citizen's Visa type.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentVisa" }
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentAcademicRecord": {
      "required": [ "termDescriptor", "cumulativeAttemptedCredits", "cumulativeEarnedCredits", "id", "educationOrganizationReference", "schoolYearTypeReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "termDescriptor": {
          "description": "The term for the session during the school year.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "educationOrganizationReference": { "$ref": "#/definitions/edFi_educationOrganizationReference" },
        "schoolYearTypeReference": { "$ref": "#/definitions/edFi_schoolYearTypeReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "academicHonors": {
          "description": "An unordered collection of studentAcademicRecordAcademicHonors. Academic distinctions earned by or awarded to the student.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentAcademicRecordAcademicHonor" }
        },
        "classRanking": { "$ref": "#/definitions/edFi_studentAcademicRecordClassRanking" },
        "cumulativeAttemptedCreditConversion": {
          "format": "double",
          "description": "Conversion factor that when multiplied by the number of credits is equivalent to Carnegie units.",
          "type": "number"
        },
        "cumulativeAttemptedCredits": {
          "format": "double",
          "description": "The value of credits or units of value awarded for the completion of a course.",
          "type": "number"
        },
        "cumulativeAttemptedCreditTypeDescriptor": {
          "description": "The type of credits or units of value awarded for the completion of a course.",
          "maxLength": 306,
          "type": "string"
        },
        "cumulativeEarnedCreditConversion": {
          "format": "double",
          "description": "Conversion factor that when multiplied by the number of credits is equivalent to Carnegie units.",
          "type": "number"
        },
        "cumulativeEarnedCredits": {
          "format": "double",
          "description": "The value of credits or units of value awarded for the completion of a course.",
          "type": "number"
        },
        "cumulativeEarnedCreditTypeDescriptor": {
          "description": "The type of credits or units of value awarded for the completion of a course.",
          "maxLength": 306,
          "type": "string"
        },
        "cumulativeGradePointAverage": {
          "format": "double",
          "description": "A measure of average performance in all courses taken by an individual during his or her school career as determined for record-keeping purposes. This is obtained by dividing the total grade points received by the total number of credits attempted. This usually includes grade points received and credits attempted in his or her current school as well as those transferred from schools in which the individual was previously enrolled.",
          "type": "number"
        },
        "cumulativeGradePointsEarned": {
          "format": "double",
          "description": "The cumulative number of grade points an individual earns by successfully completing courses or examinations during his or her enrollment in the current school as well as those transferred from schools in which the individual had been previously enrolled.",
          "type": "number"
        },
        "diplomas": {
          "description": "An unordered collection of studentAcademicRecordDiplomas. Diploma(s) earned by the student.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentAcademicRecordDiploma" }
        },
        "gradeValueQualifier": {
          "description": "The scale of equivalents, if applicable, for grades awarded as indicators of performance in schoolwork. For example, numerical equivalents for letter grades used in determining a student's Grade Point Average (A=4, B=3, C=2, D=1 in a four-point system) or letter equivalents for percentage grades (90-100%=A, 80-90%=B, etc.)",
          "maxLength": 80,
          "type": "string"
        },
        "projectedGraduationDate": {
          "format": "date-time",
          "description": "The month and year the student is projected to graduate.",
          "type": "string"
        },
        "recognitions": {
          "description": "An unordered collection of studentAcademicRecordRecognitions. Recognitions given to the student for accomplishments in a co-curricular or extracurricular activity.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentAcademicRecordRecognition" }
        },
        "sessionAttemptedCreditConversion": {
          "format": "double",
          "description": "Conversion factor that when multiplied by the number of credits is equivalent to Carnegie units.",
          "type": "number"
        },
        "sessionAttemptedCredits": {
          "format": "double",
          "description": "The value of credits or units of value awarded for the completion of a course.",
          "type": "number"
        },
        "sessionAttemptedCreditTypeDescriptor": {
          "description": "The type of credits or units of value awarded for the completion of a course.",
          "maxLength": 306,
          "type": "string"
        },
        "sessionEarnedCreditConversion": {
          "format": "double",
          "description": "Conversion factor that when multiplied by the number of credits is equivalent to Carnegie units.",
          "type": "number"
        },
        "sessionEarnedCredits": {
          "format": "double",
          "description": "The value of credits or units of value awarded for the completion of a course.",
          "type": "number"
        },
        "sessionEarnedCreditTypeDescriptor": {
          "description": "The type of credits or units of value awarded for the completion of a course.",
          "maxLength": 306,
          "type": "string"
        },
        "sessionGradePointAverage": {
          "format": "double",
          "description": "The grade point average for an individual computed as the grade points earned during the session divided by the number of credits attempted.",
          "type": "number"
        },
        "sessionGradePointsEarned": {
          "format": "double",
          "description": "The number of grade points an individual earned for this session.",
          "type": "number"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentAcademicRecordAcademicHonor": {
      "required": [ "academicHonorCategoryDescriptor", "honorDescription" ],
      "type": "object",
      "properties": {
        "academicHonorCategoryDescriptor": {
          "description": "A designation of the type of academic distinctions earned by or awarded to the student.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "honorDescription": {
          "description": "A description of the type of academic distinctions earned by or awarded to the individual.",
          "maxLength": 80,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "achievementCategoryDescriptor": {
          "description": "The category of achievement attributed to the learner.",
          "maxLength": 306,
          "type": "string"
        },
        "achievementCategorySystem": {
          "description": "The system that defines the categories by which an achievement is attributed to the learner.",
          "maxLength": 60,
          "type": "string"
        },
        "achievementTitle": {
          "description": "The title assigned to the achievement.",
          "maxLength": 60,
          "type": "string"
        },
        "criteria": {
          "description": "The criteria for competency-based completion of the achievement/award.",
          "maxLength": 150,
          "type": "string"
        },
        "criteriaURL": {
          "description": "The Uniform Resource Locator (URL) for the unique address of a web page describing the competency-based completion criteria for the achievement/award.",
          "maxLength": 255,
          "type": "string"
        },
        "evidenceStatement": {
          "description": "A statement or reference describing the evidence that the learner met the criteria for attainment of the Achievement.",
          "maxLength": 150,
          "type": "string"
        },
        "honorAwardDate": {
          "format": "date-time",
          "description": "The date the honor was awarded or earned.",
          "type": "string"
        },
        "honorAwardExpiresDate": {
          "format": "date-time",
          "description": "Date on which the award expires.",
          "type": "string"
        },
        "imageURL": {
          "description": "The Uniform Resource Locator (URL) for the unique address of an image representing an award or badge associated with the Achievement.",
          "maxLength": 255,
          "type": "string"
        },
        "issuerName": {
          "description": "The name of the agent, entity, or institution issuing the element.",
          "maxLength": 150,
          "type": "string"
        },
        "issuerOriginURL": {
          "description": "The Uniform Resource Locator (URL) from which the award was issued.",
          "maxLength": 255,
          "type": "string"
        }
      }
    },
    "edFi_studentAcademicRecordClassRanking": {
      "required": [ "classRank", "totalNumberInClass" ],
      "type": "object",
      "properties": {
        "classRank": {
          "format": "int32",
          "description": "The academic rank of a student in relation to his or her graduating class (e.g., 1st, 2nd, 3rd).",
          "type": "integer"
        },
        "classRankingDate": {
          "format": "date-time",
          "description": "Date class ranking was determined.",
          "type": "string"
        },
        "percentageRanking": {
          "format": "int32",
          "description": "The academic percentage rank of a student in relation to his or her graduating class (e.g., 95%, 80%, 50%).",
          "type": "integer"
        },
        "totalNumberInClass": {
          "format": "int32",
          "description": "The total number of students in the student's graduating class.",
          "type": "integer"
        }
      }
    },
    "edFi_studentAcademicRecordDiploma": {
      "required": [ "diplomaTypeDescriptor", "diplomaAwardDate" ],
      "type": "object",
      "properties": {
        "diplomaTypeDescriptor": {
          "description": "The type of diploma/credential that is awarded to a student in recognition of his/her completion of the curricular requirements.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "diplomaAwardDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the student met  graduation requirements and was awarded a diploma.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "achievementCategoryDescriptor": {
          "description": "The category of achievement attributed to the learner.",
          "maxLength": 306,
          "type": "string"
        },
        "diplomaLevelDescriptor": {
          "description": "The level of diploma/credential that is awarded to a student in recognition of his/her completion of the curricular requirements.          Minimum high school program          Recommended high school program          Distinguished Achievement Program.",
          "maxLength": 306,
          "type": "string"
        },
        "achievementCategorySystem": {
          "description": "The system that defines the categories by which an achievement is attributed to the learner.",
          "maxLength": 60,
          "type": "string"
        },
        "achievementTitle": {
          "description": "The title assigned to the achievement.",
          "maxLength": 60,
          "type": "string"
        },
        "criteria": {
          "description": "The criteria for competency-based completion of the achievement/award.",
          "maxLength": 150,
          "type": "string"
        },
        "criteriaURL": {
          "description": "The Uniform Resource Locator (URL) for the unique address of a web page describing the competency-based completion criteria for the achievement/award.",
          "maxLength": 255,
          "type": "string"
        },
        "cteCompleter": {
          "description": "Indicated a student who reached a state-defined threshold of vocational education and who attained a high school diploma or its recognized state equivalent or GED.",
          "type": "boolean"
        },
        "diplomaAwardExpiresDate": {
          "format": "date-time",
          "description": "Date on which the award expires.",
          "type": "string"
        },
        "diplomaDescription": {
          "description": "The description of diploma given to the student for accomplishments.",
          "maxLength": 80,
          "type": "string"
        },
        "evidenceStatement": {
          "description": "A statement or reference describing the evidence that the learner met the criteria for attainment of the Achievement.",
          "maxLength": 150,
          "type": "string"
        },
        "imageURL": {
          "description": "The Uniform Resource Locator (URL) for the unique address of an image representing an award or badge associated with the Achievement.",
          "maxLength": 255,
          "type": "string"
        },
        "issuerName": {
          "description": "The name of the agent, entity, or institution issuing the element.",
          "maxLength": 150,
          "type": "string"
        },
        "issuerOriginURL": {
          "description": "The Uniform Resource Locator (URL) from which the award was issued.",
          "maxLength": 255,
          "type": "string"
        }
      }
    },
    "edFi_studentAcademicRecordRecognition": {
      "required": [ "recognitionTypeDescriptor" ],
      "type": "object",
      "properties": {
        "recognitionTypeDescriptor": {
          "description": "The nature of recognition given to the learner for accomplishments in a co-curricular, or extra-curricular activity.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "achievementCategoryDescriptor": {
          "description": "The category of achievement attributed to the learner.",
          "maxLength": 306,
          "type": "string"
        },
        "achievementCategorySystem": {
          "description": "The system that defines the categories by which an achievement is attributed to the learner.",
          "maxLength": 60,
          "type": "string"
        },
        "achievementTitle": {
          "description": "The title assigned to the achievement.",
          "maxLength": 60,
          "type": "string"
        },
        "criteria": {
          "description": "The criteria for competency-based completion of the achievement/award.",
          "maxLength": 150,
          "type": "string"
        },
        "criteriaURL": {
          "description": "The Uniform Resource Locator (URL) for the unique address of a web page describing the competency-based completion criteria for the achievement/award.",
          "maxLength": 255,
          "type": "string"
        },
        "evidenceStatement": {
          "description": "A statement or reference describing the evidence that the learner met the criteria for attainment of the Achievement.",
          "maxLength": 150,
          "type": "string"
        },
        "imageURL": {
          "description": "The Uniform Resource Locator (URL) for the unique address of an image representing an award or badge associated with the Achievement.",
          "maxLength": 255,
          "type": "string"
        },
        "issuerName": {
          "description": "The name of the agent, entity, or institution issuing the element.",
          "maxLength": 150,
          "type": "string"
        },
        "issuerOriginURL": {
          "description": "The Uniform Resource Locator (URL) from which the award was issued.",
          "maxLength": 255,
          "type": "string"
        },
        "recognitionAwardDate": {
          "format": "date-time",
          "description": "The date the recognition was awarded or earned.",
          "type": "string"
        },
        "recognitionAwardExpiresDate": {
          "format": "date-time",
          "description": "Date on which the award expires.",
          "type": "string"
        },
        "recognitionDescription": {
          "description": "A description of the type of academic distinctions earned by or awarded to the individual.",
          "maxLength": 80,
          "type": "string"
        }
      }
    },
    "edFi_studentAcademicRecordReference": {
      "required": [ "educationOrganizationId", "schoolYear", "studentUniqueId", "termDescriptor" ],
      "type": "object",
      "properties": {
        "educationOrganizationId": {
          "format": "int32",
          "description": "The identifier assigned to an education organization.",
          "type": "integer"
        },
        "schoolYear": {
          "format": "int32",
          "description": "The identifier for the school year.",
          "type": "integer"
        },
        "studentUniqueId": {
          "description": "A unique alphanumeric code assigned to a student.",
          "maxLength": 32,
          "type": "string"
        },
        "termDescriptor": {
          "description": "The term for the session during the school year.",
          "maxLength": 306,
          "type": "string"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_studentCohortAssociation": {
      "required": [ "beginDate", "id", "cohortReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "beginDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student was first identified as part of the Cohort.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "cohortReference": { "$ref": "#/definitions/edFi_cohortReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "endDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student was removed as part of the Cohort.",
          "type": "string"
        },
        "sections": {
          "description": "An unordered collection of studentCohortAssociationSections. The Cohort representing the subdivision of students within one or more sections. For example, a group of students may be given additional instruction and tracked as a cohort.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentCohortAssociationSection" }
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentCohortAssociationSection": {
      "required": [ "sectionReference" ],
      "type": "object",
      "properties": { "sectionReference": { "$ref": "#/definitions/edFi_sectionReference" } }
    },
    "edFi_studentCTEProgramAssociation": {
      "required": [ "beginDate", "id", "technicalSkillsAssessmentDescriptor", "nonTraditionalGenderStatus", "privateCTEProgram", "ctePrograms", "educationOrganizationReference", "programReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "beginDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student first received services.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "ctePrograms": {
          "description": "An unordered collection of studentCTEProgramAssociationCTEPrograms. The career cluster representing the career path of the Vocational/Career Tech concentrator.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentCTEProgramAssociationCTEProgram" }
        },
        "educationOrganizationReference": { "$ref": "#/definitions/edFi_educationOrganizationReference" },
        "programReference": { "$ref": "#/definitions/edFi_programReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "endDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student exited the Program or stopped receiving services.",
          "type": "string"
        },
        "nonTraditionalGenderStatus": {
          "description": "Indicator that student is from a gender group that comprises less than 25% of the individuals employed in an occupation or field of work.",
          "type": "boolean"
        },
        "privateCTEProgram": {
          "description": "Indicator that student participated in career and technical education at private agencies or institutions that are reported by the state for purposes of the Elementary and Secondary Education Act (ESEA).  Students in private institutions which do not receive Perkins funding are reported only in the state file.",
          "type": "boolean"
        },
        "reasonExitedDescriptor": {
          "description": "The reason the child left the Program within a school or district.",
          "maxLength": 306,
          "type": "string"
        },
        "servedOutsideOfRegularSession": {
          "description": "Indicates whether the Student received services during the summer session or between sessions.",
          "type": "boolean"
        },
        "services": {
          "description": "An unordered collection of studentCTEProgramAssociationServices. Indicates the Service(s) being provided to the Student by the Program.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentCTEProgramAssociationService" }
        },
        "technicalSkillsAssessmentDescriptor": {
          "description": "Results of technical skills assessment aligned with industry recognized standards.",
          "maxLength": 306,
          "type": "string"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentCTEProgramAssociationCTEProgram": {
      "required": [ "careerPathwayDescriptor", "cipCode", "cteProgramCompletionIndicator", "primaryCTEProgramIndicator" ],
      "type": "object",
      "properties": {
        "careerPathwayDescriptor": {
          "description": "A sequence of courses within an area of interest that is a student's educational road map to a chosen career.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "cipCode": {
          "description": "Number and description of the CIP Code associated with the student's CTEProgram.",
          "maxLength": 120,
          "type": "string"
        },
        "cteProgramCompletionIndicator": {
          "description": "A boolean indicator of whether the Student has completed the CTEProgram.",
          "type": "boolean"
        },
        "primaryCTEProgramIndicator": {
          "description": "A boolean indicator of whether this CTEProgram, is the student's primary CTEProgram.",
          "type": "boolean"
        }
      }
    },
    "edFi_studentCTEProgramAssociationService": {
      "required": [ "serviceDescriptor" ],
      "type": "object",
      "properties": {
        "serviceDescriptor": {
          "description": "Indicates the Service being provided to the student by the Program.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "primaryIndicator": {
          "description": "True if service is a primary service.",
          "type": "boolean"
        },
        "serviceBeginDate": {
          "format": "date-time",
          "description": "First date the Student was in this option for the current school year.",
          "type": "string"
        },
        "serviceEndDate": {
          "format": "date-time",
          "description": "Last date the Student was in this option for the current school year.",
          "type": "string"
        }
      }
    },
    "edFi_studentDisciplineIncidentAssociation": {
      "required": [ "studentParticipationCodeDescriptor", "id", "disciplineIncidentReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "disciplineIncidentReference": { "$ref": "#/definitions/edFi_disciplineIncidentReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "behaviors": {
          "description": "An unordered collection of studentDisciplineIncidentAssociationBehaviors. Describes behavior by category and provides a detailed description.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentDisciplineIncidentAssociationBehavior" }
        },
        "studentParticipationCodeDescriptor": {
          "description": "The role or type of participation of a student in a discipline incident;           for example:          Victim          Perpetrator          Witness          Reporter.",
          "maxLength": 306,
          "type": "string"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentDisciplineIncidentAssociationBehavior": {
      "required": [ "behaviorDescriptor" ],
      "type": "object",
      "properties": {
        "behaviorDescriptor": {
          "description": "Describes behavior by category and provides a detailed description.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "behaviorDetailedDescription": {
          "description": "Specifies a more granular level of detail of a behavior involved in the incident.",
          "maxLength": 1024,
          "type": "string"
        }
      }
    },
    "edFi_studentDisciplineIncidentAssociationReference": {
      "required": [ "incidentIdentifier", "schoolId", "studentUniqueId" ],
      "type": "object",
      "properties": {
        "incidentIdentifier": {
          "description": "A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire DisciplineIncident even if it included multiple offenses and multiple offenders.",
          "maxLength": 20,
          "type": "string"
        },
        "schoolId": {
          "format": "int32",
          "description": "The identifier assigned to a school.",
          "type": "integer"
        },
        "studentUniqueId": {
          "description": "A unique alphanumeric code assigned to a student.",
          "maxLength": 32,
          "type": "string"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_studentEducationOrganizationAssociation": {
      "required": [ "limitedEnglishProficiencyDescriptor", "sexDescriptor", "hispanicLatinoEthnicity", "id", "addresses", "electronicMails", "studentCharacteristics", "studentIndicators", "educationOrganizationReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "addresses": {
          "description": "An unordered collection of studentEducationOrganizationAssociationAddresses. The set of elements that describes an address, including the street address, city, state, and ZIP code.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationAddress" }
        },
        "electronicMails": {
          "description": "An unordered collection of studentEducationOrganizationAssociationElectronicMails. The numbers, letters, and symbols used to identify an electronic mail (e-mail) user within the network to which the individual or organization belongs.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationElectronicMail" }
        },
        "studentCharacteristics": {
          "description": "An unordered collection of studentEducationOrganizationAssociationStudentCharacteristics. Reflects important characteristics of the student's home situation:          Displaced Homemaker, Immigrant, Migratory, Military Parent, Pregnant Teen, Single Parent, and Unaccompanied Youth.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationStudentCharacteristic" }
        },
        "studentIndicators": {
          "description": "An unordered collection of studentEducationOrganizationAssociationStudentIndicators. Indicator(s) or metric(s) computed for the student (e.g., at risk) to influence more effective education or direct specific interventions.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationStudentIndicator" }
        },
        "educationOrganizationReference": { "$ref": "#/definitions/edFi_educationOrganizationReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "cohortYears": {
          "description": "An unordered collection of studentEducationOrganizationAssociationCohortYears. The type and year of a cohort (e.g., 9th grade) the student belongs to as determined by the year that student entered a specific grade.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationCohortYear" }
        },
        "disabilities": {
          "description": "An unordered collection of studentEducationOrganizationAssociationDisabilities. The disability condition(s) that best describes an individual's impairment, as determined by evaluation(s) conducted by the education organization.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationDisability" }
        },
        "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"
        },
        "internationalAddresses": {
          "description": "An unordered collection of studentEducationOrganizationAssociationInternationalAddresses. The set of elements that describes an international address.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationInternationalAddress" }
        },
        "languages": {
          "description": "An unordered collection of studentEducationOrganizationAssociationLanguages. The language(s) the individual uses to communicate. It is strongly recommended that entries use only ISO 639-3 language codes.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationLanguage" }
        },
        "limitedEnglishProficiencyDescriptor": {
          "description": "An indication that the student has been identified as limited English proficient by the Language Proficiency Assessment Committee (LPAC), or English proficient.",
          "maxLength": 306,
          "type": "string"
        },
        "loginId": {
          "description": "The login ID for the user; used for security access control interface.",
          "maxLength": 60,
          "type": "string"
        },
        "oldEthnicityDescriptor": {
          "description": "Previous definition of Ethnicity combining Hispanic/Latino and race:          1 - American Indian or Alaskan Native          2 - Asian or Pacific Islander          3 - Black, not of Hispanic origin          4 - Hispanic          5 - White, not of Hispanic origin.",
          "maxLength": 306,
          "type": "string"
        },
        "profileThumbnail": {
          "description": "Locator reference for the student photo. The specification for that reference is left to local definition.",
          "maxLength": 255,
          "type": "string"
        },
        "programParticipations": {
          "description": "An unordered collection of studentEducationOrganizationAssociationProgramParticipations. Key programs the student is participating in or receives services from.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationProgramParticipation" }
        },
        "races": {
          "description": "An unordered collection of studentEducationOrganizationAssociationRaces. 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 data model allows for multiple entries so that each individual can specify all appropriate races.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationRace" }
        },
        "sexDescriptor": {
          "description": "A person's gender.",
          "maxLength": 306,
          "type": "string"
        },
        "studentIdentificationCodes": {
          "description": "An unordered collection of studentEducationOrganizationAssociationStudentIdentificationCodes. A coding scheme that is used for identification and record-keeping purposes by schools, social services, or other agencies to refer to a student.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationStudentIdentificationCode" }
        },
        "telephones": {
          "description": "An unordered collection of studentEducationOrganizationAssociationTelephones. The 10-digit telephone number, including the area code, for the person.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationTelephone" }
        },
        "tribalAffiliations": {
          "description": "An unordered collection of studentEducationOrganizationAssociationTribalAffiliations. An American Indian tribe with which the student is affiliated.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationTribalAffiliation" }
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentEducationOrganizationAssociationAddress": {
      "required": [ "addressTypeDescriptor", "stateAbbreviationDescriptor", "city", "postalCode", "streetNumberName" ],
      "type": "object",
      "properties": {
        "addressTypeDescriptor": {
          "description": "The type of address listed for an individual or organization.    For example:  Physical Address, Mailing Address, Home Address, etc.)",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "stateAbbreviationDescriptor": {
          "description": "The abbreviation for the state (within the United States) or outlying area in which an address is located.",
          "maxLength": 306,
          "type": "string"
        },
        "apartmentRoomSuiteNumber": {
          "description": "The apartment, room, or suite number of an address.",
          "maxLength": 50,
          "type": "string"
        },
        "buildingSiteNumber": {
          "description": "The number of the building on the site, if more than one building shares the same address.",
          "maxLength": 20,
          "type": "string"
        },
        "city": {
          "description": "The name of the city in which an address is located.",
          "maxLength": 30,
          "type": "string"
        },
        "countyFIPSCode": {
          "description": "The Federal Information Processing Standards (FIPS) numeric code for the county issued by the National Institute of Standards and Technology (NIST). Counties are considered to be the \"first-order subdivisions\" of each State and statistically equivalent entity, regardless of their local designations (county, parish, borough, etc.) Counties in different States will have the same code. A unique county number is created when combined with the 2-digit FIPS State Code.",
          "maxLength": 5,
          "type": "string"
        },
        "doNotPublishIndicator": {
          "description": "An indication that the address should not be published.",
          "type": "boolean"
        },
        "latitude": {
          "description": "The geographic latitude of the physical address.",
          "maxLength": 20,
          "type": "string"
        },
        "longitude": {
          "description": "The geographic longitude of the physical address.",
          "maxLength": 20,
          "type": "string"
        },
        "nameOfCounty": {
          "description": "The name of the county, parish, borough, or comparable unit (within a state) in                        'which an address is located.",
          "maxLength": 30,
          "type": "string"
        },
        "postalCode": {
          "description": "The five or nine digit zip code or overseas postal code portion of an address.",
          "maxLength": 17,
          "type": "string"
        },
        "streetNumberName": {
          "description": "The street number and street name or post office box number of an address.",
          "maxLength": 150,
          "type": "string"
        },
        "periods": {
          "description": "An unordered collection of studentEducationOrganizationAssociationAddressPeriods. The time periods for which the address is valid. For physical addresses, the periods in which the person lived at that address.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationAddressPeriod" }
        }
      }
    },
    "edFi_studentEducationOrganizationAssociationAddressPeriod": {
      "required": [ "beginDate" ],
      "type": "object",
      "properties": {
        "beginDate": {
          "format": "date-time",
          "description": "The month, day, and year for the start of the period.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "endDate": {
          "format": "date-time",
          "description": "The month, day, and year for the end of the period.",
          "type": "string"
        }
      }
    },
    "edFi_studentEducationOrganizationAssociationCohortYear": {
      "required": [ "cohortYearTypeDescriptor", "schoolYearTypeReference" ],
      "type": "object",
      "properties": {
        "cohortYearTypeDescriptor": {
          "description": "The type of cohort year (9th grade, graduation).",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "schoolYearTypeReference": { "$ref": "#/definitions/edFi_schoolYearTypeReference" }
      }
    },
    "edFi_studentEducationOrganizationAssociationDisability": {
      "required": [ "disabilityDescriptor" ],
      "type": "object",
      "properties": {
        "disabilityDescriptor": {
          "description": "A disability category that describes a child's impairment.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "disabilityDeterminationSourceTypeDescriptor": {
          "description": "The source that provided the disability determination.",
          "maxLength": 306,
          "type": "string"
        },
        "disabilityDiagnosis": {
          "description": "A description of the disability diagnosis.",
          "maxLength": 80,
          "type": "string"
        },
        "orderOfDisability": {
          "format": "int32",
          "description": "The order by severity of student's disabilities: 1- Primary, 2 -  Secondary, 3 - Tertiary, etc.",
          "type": "integer"
        },
        "designations": {
          "description": "An unordered collection of studentEducationOrganizationAssociationDisabilityDesignations. Whether the disability is IDEA, Section 504, or other disability designation.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationDisabilityDesignation" }
        }
      }
    },
    "edFi_studentEducationOrganizationAssociationDisabilityDesignation": {
      "required": [ "disabilityDesignationDescriptor" ],
      "type": "object",
      "properties": {
        "disabilityDesignationDescriptor": {
          "description": "Whether the disability is IDEA, Section 504, or other disability designation.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_studentEducationOrganizationAssociationElectronicMail": {
      "required": [ "electronicMailTypeDescriptor", "electronicMailAddress" ],
      "type": "object",
      "properties": {
        "electronicMailTypeDescriptor": {
          "description": "The type of email listed for an individual or organization. For example: Home/Personal, Work, etc.)",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "doNotPublishIndicator": {
          "description": "An indication that the electronic email address should not be published.",
          "type": "boolean"
        },
        "electronicMailAddress": {
          "description": "The electronic mail (e-mail) address listed for an individual or organization.",
          "maxLength": 128,
          "type": "string"
        },
        "primaryEmailAddressIndicator": {
          "description": "An indication that the electronic mail address should be used as the principal electronic mail address for an individual or organization.",
          "type": "boolean"
        }
      }
    },
    "edFi_studentEducationOrganizationAssociationInternationalAddress": {
      "required": [ "addressTypeDescriptor", "countryDescriptor", "addressLine1" ],
      "type": "object",
      "properties": {
        "addressTypeDescriptor": {
          "description": "The type of address listed for an individual or organization. For example:  Physical Address, Mailing Address, Home Address, etc.)",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "countryDescriptor": {
          "description": "The name of the country. It is strongly recommended that entries use only ISO 3166 2-letter country codes.",
          "maxLength": 306,
          "type": "string"
        },
        "addressLine1": {
          "description": "The first line of the address.",
          "maxLength": 150,
          "type": "string"
        },
        "addressLine2": {
          "description": "The second line of the address.",
          "maxLength": 150,
          "type": "string"
        },
        "addressLine3": {
          "description": "The third line of the address.",
          "maxLength": 150,
          "type": "string"
        },
        "addressLine4": {
          "description": "The fourth line of the address.",
          "maxLength": 150,
          "type": "string"
        },
        "beginDate": {
          "format": "date-time",
          "description": "The first date the address is valid. For physical addresses, the date the person moved to that address.",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "description": "The last date the address is valid. For physical addresses, this would be the date the person moved from that address.",
          "type": "string"
        },
        "latitude": {
          "description": "The geographic latitude of the physical address.",
          "maxLength": 20,
          "type": "string"
        },
        "longitude": {
          "description": "The geographic longitude of the physical address.",
          "maxLength": 20,
          "type": "string"
        }
      }
    },
    "edFi_studentEducationOrganizationAssociationLanguage": {
      "required": [ "languageDescriptor" ],
      "type": "object",
      "properties": {
        "languageDescriptor": {
          "description": "A specification of which written or spoken communication is being used.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "uses": {
          "description": "An unordered collection of studentEducationOrganizationAssociationLanguageUses. A description of how the language is used (e.g. Home Language, Native Language, Spoken Language).",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationLanguageUse" }
        }
      }
    },
    "edFi_studentEducationOrganizationAssociationLanguageUse": {
      "required": [ "languageUseDescriptor" ],
      "type": "object",
      "properties": {
        "languageUseDescriptor": {
          "description": "A description of how the language is used (e.g. Home Language, Native Language, Spoken Language).",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_studentEducationOrganizationAssociationProgramParticipation": {
      "required": [ "programTypeDescriptor" ],
      "type": "object",
      "properties": {
        "programTypeDescriptor": {
          "description": "The type of program.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "beginDate": {
          "format": "date-time",
          "description": "The date the Student was associated with the Program or service.",
          "type": "string"
        },
        "designatedBy": {
          "description": "The person, organization, or department that designated the program association.",
          "maxLength": 60,
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "description": "The date the Program participation ended.",
          "type": "string"
        },
        "programCharacteristics": {
          "description": "An unordered collection of studentEducationOrganizationAssociationProgramParticipationProgramCharacteristics. Reflects important characteristics of the Program, such as categories or particular indications.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationProgramParticipationProgramCharacteristic" }
        }
      }
    },
    "edFi_studentEducationOrganizationAssociationProgramParticipationProgramCharacteristic": {
      "required": [ "programCharacteristicDescriptor" ],
      "type": "object",
      "properties": {
        "programCharacteristicDescriptor": {
          "description": "Reflects important characteristics of the Program, such as categories or particular indications.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_studentEducationOrganizationAssociationRace": {
      "required": [ "raceDescriptor" ],
      "type": "object",
      "properties": {
        "raceDescriptor": {
          "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 data model allows for multiple entries so that each individual can specify all appropriate races.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_studentEducationOrganizationAssociationStudentCharacteristic": {
      "required": [ "studentCharacteristicDescriptor" ],
      "type": "object",
      "properties": {
        "studentCharacteristicDescriptor": {
          "description": "The characteristic designated for the Student.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "designatedBy": {
          "description": "The person, organization, or department that designated the characteristic.",
          "maxLength": 60,
          "type": "string"
        },
        "periods": {
          "description": "An unordered collection of studentEducationOrganizationAssociationStudentCharacteristicPeriods. The time periods for which characteristic was effective.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationStudentCharacteristicPeriod" }
        }
      }
    },
    "edFi_studentEducationOrganizationAssociationStudentCharacteristicPeriod": {
      "required": [ "beginDate" ],
      "type": "object",
      "properties": {
        "beginDate": {
          "format": "date-time",
          "description": "The month, day, and year for the start of the period.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "endDate": {
          "format": "date-time",
          "description": "The month, day, and year for the end of the period.",
          "type": "string"
        }
      }
    },
    "edFi_studentEducationOrganizationAssociationStudentIdentificationCode": {
      "required": [ "studentIdentificationSystemDescriptor", "assigningOrganizationIdentificationCode", "identificationCode" ],
      "type": "object",
      "properties": {
        "studentIdentificationSystemDescriptor": {
          "description": "A coding scheme that is used for identification and record-keeping purposes by schools, social services, or other agencies to refer to a student.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "assigningOrganizationIdentificationCode": {
          "description": "The organization code or name assigning the StudentIdentificationCode.",
          "maxLength": 60,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "identificationCode": {
          "description": "A unique number or alphanumeric code assigned to a student by a school, school system, a state, or other agency or entity.",
          "maxLength": 60,
          "type": "string"
        }
      }
    },
    "edFi_studentEducationOrganizationAssociationStudentIndicator": {
      "required": [ "indicatorName", "indicator" ],
      "type": "object",
      "properties": {
        "indicatorName": {
          "description": "The name of the indicator or metric.",
          "maxLength": 60,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "designatedBy": {
          "description": "The person, organization, or department that designated the program association.",
          "maxLength": 60,
          "type": "string"
        },
        "indicator": {
          "description": "The value of the indicator or metric.",
          "maxLength": 35,
          "type": "string"
        },
        "indicatorGroup": {
          "description": "The name for a group of indicators.",
          "maxLength": 60,
          "type": "string"
        },
        "periods": {
          "description": "An unordered collection of studentEducationOrganizationAssociationStudentIndicatorPeriods. The time periods for which the indicator was effective.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentEducationOrganizationAssociationStudentIndicatorPeriod" }
        }
      }
    },
    "edFi_studentEducationOrganizationAssociationStudentIndicatorPeriod": {
      "required": [ "beginDate" ],
      "type": "object",
      "properties": {
        "beginDate": {
          "format": "date-time",
          "description": "The month, day, and year for the start of the period.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "endDate": {
          "format": "date-time",
          "description": "The month, day, and year for the end of the period.",
          "type": "string"
        }
      }
    },
    "edFi_studentEducationOrganizationAssociationTelephone": {
      "required": [ "telephoneNumberTypeDescriptor", "telephoneNumber" ],
      "type": "object",
      "properties": {
        "telephoneNumberTypeDescriptor": {
          "description": "The type of communication number listed for an individual or organization.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "doNotPublishIndicator": {
          "description": "An indication that the telephone number should not be published.",
          "type": "boolean"
        },
        "orderOfPriority": {
          "format": "int32",
          "description": "The order of priority assigned to telephone numbers to define which number to attempt first, second, etc.",
          "type": "integer"
        },
        "telephoneNumber": {
          "description": "The telephone number including the area code, and extension, if applicable.",
          "maxLength": 24,
          "type": "string"
        },
        "textMessageCapabilityIndicator": {
          "description": "An indication that the telephone number is technically capable of sending and receiving Short Message Service (SMS) text messages.",
          "type": "boolean"
        }
      }
    },
    "edFi_studentEducationOrganizationAssociationTribalAffiliation": {
      "required": [ "tribalAffiliationDescriptor" ],
      "type": "object",
      "properties": {
        "tribalAffiliationDescriptor": {
          "description": "An American Indian tribe with which the student is affiliated.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_studentHomelessProgramAssociation": {
      "required": [ "beginDate", "id", "homelessPrimaryNighttimeResidenceDescriptor", "awaitingFosterCare", "homelessUnaccompaniedYouth", "homelessProgramServices", "educationOrganizationReference", "programReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "beginDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student first received services.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "homelessProgramServices": {
          "description": "An unordered collection of studentHomelessProgramAssociationHomelessProgramServices. Indicates the service(s) being provided to the Student by the Homeless Program.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentHomelessProgramAssociationHomelessProgramService" }
        },
        "educationOrganizationReference": { "$ref": "#/definitions/edFi_educationOrganizationReference" },
        "programReference": { "$ref": "#/definitions/edFi_programReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "awaitingFosterCare": {
          "description": "State defined definition for awaiting foster care.",
          "type": "boolean"
        },
        "endDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student exited the Program or stopped receiving services.",
          "type": "string"
        },
        "homelessPrimaryNighttimeResidenceDescriptor": {
          "description": "The primary nighttime residence of the student at the time the student is identified as homeless.",
          "maxLength": 306,
          "type": "string"
        },
        "homelessUnaccompaniedYouth": {
          "description": "A homeless unaccompanied youth is a youth who is not in the physical custody of a parent or guardian and who fits the McKinney-Vento definition of homeless. Students must be both unaccompanied and homeless to be included as an unaccompanied homeless youth.",
          "type": "boolean"
        },
        "reasonExitedDescriptor": {
          "description": "The reason the child left the Program within a school or district.",
          "maxLength": 306,
          "type": "string"
        },
        "servedOutsideOfRegularSession": {
          "description": "Indicates whether the Student received services during the summer session or between sessions.",
          "type": "boolean"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentHomelessProgramAssociationHomelessProgramService": {
      "required": [ "homelessProgramServiceDescriptor", "primaryIndicator", "serviceBeginDate" ],
      "type": "object",
      "properties": {
        "homelessProgramServiceDescriptor": {
          "description": "Indicates the service being provided to the student by the Homeless Program.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "primaryIndicator": {
          "description": "True if service is a primary service.",
          "type": "boolean"
        },
        "serviceBeginDate": {
          "format": "date-time",
          "description": "First date the Student was in this option for the current school year.",
          "type": "string"
        },
        "serviceEndDate": {
          "format": "date-time",
          "description": "Last date the Student was in this option for the current school year.",
          "type": "string"
        }
      }
    },
    "edFi_studentIdentificationDocument": {
      "required": [ "identificationDocumentUseDescriptor", "personalInformationVerificationDescriptor" ],
      "type": "object",
      "properties": {
        "identificationDocumentUseDescriptor": {
          "description": "The primary function of the document used for establishing identity.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "personalInformationVerificationDescriptor": {
          "description": "The category of the document relative to its purpose.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "issuerCountryDescriptor": {
          "description": "Country of origin of the document. It is strongly recommended that entries use only ISO 3166 2-letter country codes.",
          "maxLength": 306,
          "type": "string"
        },
        "documentExpirationDate": {
          "format": "date-time",
          "description": "The day when the document  expires, if null then never expires.",
          "type": "string"
        },
        "documentTitle": {
          "description": "The title of the document given by the issuer.",
          "maxLength": 60,
          "type": "string"
        },
        "issuerDocumentIdentificationCode": {
          "description": "The unique identifier on the issuer's identification system.",
          "maxLength": 60,
          "type": "string"
        },
        "issuerName": {
          "description": "Name of the entity or institution that issued the document.",
          "maxLength": 150,
          "type": "string"
        }
      }
    },
    "edFi_studentLanguageInstructionProgramAssociation": {
      "required": [ "beginDate", "id", "englishLearnerParticipation", "englishLanguageProficiencyAssessments", "languageInstructionProgramServices", "educationOrganizationReference", "programReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "beginDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student first received services.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "englishLanguageProficiencyAssessments": {
          "description": "An unordered collection of studentLanguageInstructionProgramAssociationEnglishLanguageProficiencyAssessments. Results of yearly English language assessment.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentLanguageInstructionProgramAssociationEnglishLanguageProficiencyAssessment" }
        },
        "languageInstructionProgramServices": {
          "description": "An unordered collection of studentLanguageInstructionProgramAssociationLanguageInstructionProgramServices. Indicates the service(s) being provided to the Student by the Language Instruction Program.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentLanguageInstructionProgramAssociationLanguageInstructionProgramService" }
        },
        "educationOrganizationReference": { "$ref": "#/definitions/edFi_educationOrganizationReference" },
        "programReference": { "$ref": "#/definitions/edFi_programReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "endDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student exited the Program or stopped receiving services.",
          "type": "string"
        },
        "englishLearnerParticipation": {
          "description": "An indication that an English Learner student is served by an English language instruction educational program supported with Title III of ESEA funds.",
          "type": "boolean"
        },
        "reasonExitedDescriptor": {
          "description": "The reason the child left the Program within a school or district.",
          "maxLength": 306,
          "type": "string"
        },
        "servedOutsideOfRegularSession": {
          "description": "Indicates whether the Student received services during the summer session or between sessions.",
          "type": "boolean"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentLanguageInstructionProgramAssociationEnglishLanguageProficiencyAssessment": {
      "required": [ "monitoredDescriptor", "participationDescriptor", "proficiencyDescriptor", "progressDescriptor", "schoolYearTypeReference" ],
      "type": "object",
      "properties": {
        "monitoredDescriptor": {
          "description": "Student is monitored on content achievement who are no longer receiving services.",
          "maxLength": 306,
          "type": "string"
        },
        "participationDescriptor": {
          "description": "Field indicating the participation in the yearly English language assessment.",
          "maxLength": 306,
          "type": "string"
        },
        "proficiencyDescriptor": {
          "description": "The proficiency level for the yearly English language assessment.",
          "maxLength": 306,
          "type": "string"
        },
        "progressDescriptor": {
          "description": "The yearly progress or growth from last year s assessment.",
          "maxLength": 306,
          "type": "string"
        },
        "schoolYearTypeReference": { "$ref": "#/definitions/edFi_schoolYearTypeReference" }
      }
    },
    "edFi_studentLanguageInstructionProgramAssociationLanguageInstructionProgramService": {
      "required": [ "languageInstructionProgramServiceDescriptor" ],
      "type": "object",
      "properties": {
        "languageInstructionProgramServiceDescriptor": {
          "description": "Indicates the service being provided to the student by the Language Instruction Program.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "primaryIndicator": {
          "description": "True if service is a primary service.",
          "type": "boolean"
        },
        "serviceBeginDate": {
          "format": "date-time",
          "description": "First date the Student was in this option for the current school year.",
          "type": "string"
        },
        "serviceEndDate": {
          "format": "date-time",
          "description": "Last date the Student was in this option for the current school year.",
          "type": "string"
        }
      }
    },
    "edFi_studentMigrantEducationProgramAssociation": {
      "required": [ "beginDate", "id", "continuationOfServicesReasonDescriptor", "lastQualifyingMove", "priorityForServices", "qualifyingArrivalDate", "stateResidencyDate", "usInitialEntry", "usInitialSchoolEntry", "usMostRecentEntry", "migrantEducationProgramServices", "educationOrganizationReference", "programReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "beginDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student first received services.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "migrantEducationProgramServices": {
          "description": "An unordered collection of studentMigrantEducationProgramAssociationMigrantEducationProgramServices. Indicates the Service(s) being provided to the Student by the Migrant Education Program.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentMigrantEducationProgramAssociationMigrantEducationProgramService" }
        },
        "educationOrganizationReference": { "$ref": "#/definitions/edFi_educationOrganizationReference" },
        "programReference": { "$ref": "#/definitions/edFi_programReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "continuationOfServicesReasonDescriptor": {
          "description": "The \"continuation of services\" provision found in Section 1304(e) of the statute provides that (1) a child who ceases to be a migratory child during a school term shall be eligible for services until the end of such term; (2) a child who is no longer a migratory child may continue to receive services for one additional school year, but only if comparable services are not available through other programs; and (3) secondary school students who were eligible for services in secondary school may continue to be served through credit accrual programs until graduation. Only students who received services at any time during their 36 month eligibility period may continue to receive services (not necessarily the same service).",
          "maxLength": 306,
          "type": "string"
        },
        "eligibilityExpirationDate": {
          "format": "date-time",
          "description": "The Eligibility Expiration Date is used to determine end of eligibility and to account for a child s eligibility expiring earlier than 36 months from the child s QAD. A child s eligibility would end earlier than 36 months from the child s QAD, if the child is no longer entitled to a free public education (e.g., graduated with a high school diploma, obtained a high school equivalency diploma (HSED), or for other reasons as determined by States  requirements), or if the child passes away.",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student exited the Program or stopped receiving services.",
          "type": "string"
        },
        "lastQualifyingMove": {
          "format": "date-time",
          "description": "Date the last qualifying move occurred; used to compute MEP status.",
          "type": "string"
        },
        "priorityForServices": {
          "description": "Report migratory children who are classified as having \"priority for services\" because they are failing, or most at risk of failing to meet the State's challenging State academic content standards and challenging State student academic achievement standards, and their education has been interrupted during the regular school year.",
          "type": "boolean"
        },
        "qualifyingArrivalDate": {
          "format": "date-time",
          "description": "The Qualifying Arrival Date (QAD) is the date the child joins the worker who has already moved, or the date when the worker joins the child who has already moved. The QAD is the date that the child s eligibility for the MEP begins. The QAD is not affected by subsequent non-qualifying moves.",
          "type": "string"
        },
        "reasonExitedDescriptor": {
          "description": "The reason the child left the Program within a school or district.",
          "maxLength": 306,
          "type": "string"
        },
        "servedOutsideOfRegularSession": {
          "description": "Indicates whether the Student received services during the summer session or between sessions.",
          "type": "boolean"
        },
        "stateResidencyDate": {
          "format": "date-time",
          "description": "The verified State residency for the student.",
          "type": "string"
        },
        "usInitialEntry": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student first entered the U.S.",
          "type": "string"
        },
        "usInitialSchoolEntry": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student first entered a U.S. school.",
          "type": "string"
        },
        "usMostRecentEntry": {
          "format": "date-time",
          "description": "The month, day, and year of the Student's most recent entry into the U.S.",
          "type": "string"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentMigrantEducationProgramAssociationMigrantEducationProgramService": {
      "required": [ "migrantEducationProgramServiceDescriptor" ],
      "type": "object",
      "properties": {
        "migrantEducationProgramServiceDescriptor": {
          "description": "Indicates the Service being provided to the student by the Migrant Education Program.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "primaryIndicator": {
          "description": "True if service is a primary service.",
          "type": "boolean"
        },
        "serviceBeginDate": {
          "format": "date-time",
          "description": "First date the Student was in this option for the current school year.",
          "type": "string"
        },
        "serviceEndDate": {
          "format": "date-time",
          "description": "Last date the Student was in this option for the current school year.",
          "type": "string"
        }
      }
    },
    "edFi_studentNeglectedOrDelinquentProgramAssociation": {
      "required": [ "beginDate", "id", "neglectedOrDelinquentProgramDescriptor", "elaProgressLevelDescriptor", "mathematicsProgressLevelDescriptor", "neglectedOrDelinquentProgramServices", "educationOrganizationReference", "programReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "beginDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student first received services.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "neglectedOrDelinquentProgramServices": {
          "description": "An unordered collection of studentNeglectedOrDelinquentProgramAssociationNeglectedOrDelinquentProgramServices. Indicates the service(s) being provided to the Student by the Neglected or Delinquent Program.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentNeglectedOrDelinquentProgramAssociationNeglectedOrDelinquentProgramService" }
        },
        "educationOrganizationReference": { "$ref": "#/definitions/edFi_educationOrganizationReference" },
        "programReference": { "$ref": "#/definitions/edFi_programReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "elaProgressLevelDescriptor": {
          "description": "The progress measured from pre- to post- test for ELA.",
          "maxLength": 306,
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student exited the Program or stopped receiving services.",
          "type": "string"
        },
        "mathematicsProgressLevelDescriptor": {
          "description": "The progress measured from pre- to post-test for Mathematics.",
          "maxLength": 306,
          "type": "string"
        },
        "neglectedOrDelinquentProgramDescriptor": {
          "description": "The type of program under ESEA Title I, Part D, Subpart 1 (state programs) or Subpart 2 (LEA).",
          "maxLength": 306,
          "type": "string"
        },
        "reasonExitedDescriptor": {
          "description": "The reason the child left the Program within a school or district.",
          "maxLength": 306,
          "type": "string"
        },
        "servedOutsideOfRegularSession": {
          "description": "Indicates whether the Student received services during the summer session or between sessions.",
          "type": "boolean"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentNeglectedOrDelinquentProgramAssociationNeglectedOrDelinquentProgramService": {
      "required": [ "neglectedOrDelinquentProgramServiceDescriptor", "primaryIndicator", "serviceBeginDate" ],
      "type": "object",
      "properties": {
        "neglectedOrDelinquentProgramServiceDescriptor": {
          "description": "Indicates the service being provided to the student by the Neglected or Delinquent Program.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "primaryIndicator": {
          "description": "True if service is a primary service.",
          "type": "boolean"
        },
        "serviceBeginDate": {
          "format": "date-time",
          "description": "First date the Student was in this option for the current school year.",
          "type": "string"
        },
        "serviceEndDate": {
          "format": "date-time",
          "description": "Last date the Student was in this option for the current school year.",
          "type": "string"
        }
      }
    },
    "edFi_studentOtherName": {
      "required": [ "otherNameTypeDescriptor", "firstName", "lastSurname" ],
      "type": "object",
      "properties": {
        "otherNameTypeDescriptor": {
          "description": "The types of alternate names for a person.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "firstName": {
          "description": "A name given to an individual at birth, baptism, or during another naming ceremony, or through legal change.",
          "maxLength": 75,
          "type": "string"
        },
        "generationCodeSuffix": {
          "description": "An appendage, if any, used to denote an individual's generation in his family (e.g., Jr., Sr., III).",
          "maxLength": 10,
          "type": "string"
        },
        "lastSurname": {
          "description": "The name borne in common by members of a family.",
          "maxLength": 75,
          "type": "string"
        },
        "middleName": {
          "description": "A secondary name given to an individual at birth, baptism, or during another naming ceremony.",
          "maxLength": 75,
          "type": "string"
        },
        "personalTitlePrefix": {
          "description": "A prefix used to denote the title, degree, position, or seniority of the person.",
          "maxLength": 30,
          "type": "string"
        }
      }
    },
    "edFi_studentParentAssociation": {
      "required": [ "relationDescriptor", "emergencyContactStatus", "id", "primaryContactStatus", "parentReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "parentReference": { "$ref": "#/definitions/edFi_parentReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "contactPriority": {
          "format": "int32",
          "description": "The numeric order of the preferred sequence or priority of contact.",
          "type": "integer"
        },
        "contactRestrictions": {
          "description": "Restrictions for student and/or teacher contact with the individual (e.g., the student may not be picked up by the individual).",
          "maxLength": 250,
          "type": "string"
        },
        "emergencyContactStatus": {
          "description": "Indicator of whether the person is a designated emergency contact for the Student.",
          "type": "boolean"
        },
        "livesWith": {
          "description": "Indicator of whether the Student lives with the associated parent.",
          "type": "boolean"
        },
        "primaryContactStatus": {
          "description": "Indicator of whether the person is a primary parental contact for the Student.",
          "type": "boolean"
        },
        "relationDescriptor": {
          "description": "The nature of an individual's relationship to a student; for example:          Father, Mother, Step Father, Step Mother, Foster Father, Foster Mother, Guardian, etc.",
          "maxLength": 306,
          "type": "string"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentPersonalIdentificationDocument": {
      "required": [ "identificationDocumentUseDescriptor", "personalInformationVerificationDescriptor" ],
      "type": "object",
      "properties": {
        "identificationDocumentUseDescriptor": {
          "description": "The primary function of the document used for establishing identity.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "personalInformationVerificationDescriptor": {
          "description": "The category of the document relative to its purpose.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "issuerCountryDescriptor": {
          "description": "Country of origin of the document. It is strongly recommended that entries use only ISO 3166 2-letter country codes.",
          "maxLength": 306,
          "type": "string"
        },
        "documentExpirationDate": {
          "format": "date-time",
          "description": "The day when the document  expires, if null then never expires.",
          "type": "string"
        },
        "documentTitle": {
          "description": "The title of the document given by the issuer.",
          "maxLength": 60,
          "type": "string"
        },
        "issuerDocumentIdentificationCode": {
          "description": "The unique identifier on the issuer's identification system.",
          "maxLength": 60,
          "type": "string"
        },
        "issuerName": {
          "description": "Name of the entity or institution that issued the document.",
          "maxLength": 150,
          "type": "string"
        }
      }
    },
    "edFi_studentProgramAssociation": {
      "required": [ "beginDate", "id", "educationOrganizationReference", "programReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "beginDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student first received services.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "educationOrganizationReference": { "$ref": "#/definitions/edFi_educationOrganizationReference" },
        "programReference": { "$ref": "#/definitions/edFi_programReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "endDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student exited the Program or stopped receiving services.",
          "type": "string"
        },
        "reasonExitedDescriptor": {
          "description": "The reason the child left the Program within a school or district.",
          "maxLength": 306,
          "type": "string"
        },
        "servedOutsideOfRegularSession": {
          "description": "Indicates whether the Student received services during the summer session or between sessions.",
          "type": "boolean"
        },
        "services": {
          "description": "An unordered collection of studentProgramAssociationServices. Indicates the Service(s) being provided to the Student by the Program.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentProgramAssociationService" }
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentProgramAssociationService": {
      "required": [ "serviceDescriptor" ],
      "type": "object",
      "properties": {
        "serviceDescriptor": {
          "description": "Indicates the Service being provided to the student by the Program.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "primaryIndicator": {
          "description": "True if service is a primary service.",
          "type": "boolean"
        },
        "serviceBeginDate": {
          "format": "date-time",
          "description": "First date the Student was in this option for the current school year.",
          "type": "string"
        },
        "serviceEndDate": {
          "format": "date-time",
          "description": "Last date the Student was in this option for the current school year.",
          "type": "string"
        }
      }
    },
    "edFi_studentReference": {
      "required": [ "studentUniqueId" ],
      "type": "object",
      "properties": {
        "studentUniqueId": {
          "format": "int32",
          "description": "A unique alphanumeric code assigned to a student.",
          "type": "string"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_studentSchoolAssociation": {
      "required": [ "entryDate", "entryTypeDescriptor", "entryGradeLevelDescriptor", "residencyStatusDescriptor", "id", "repeatGradeIndicator", "schoolChoiceTransfer", "schoolReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "entryDate": {
          "format": "date-time",
          "description": "The month, day, and year on which an individual enters and begins to receive instructional services in a school.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "calendarReference": { "$ref": "#/definitions/edFi_calendarReference" },
        "classOfSchoolYearTypeReference": { "$ref": "#/definitions/edFi_schoolYearTypeReference" },
        "graduationPlanReference": { "$ref": "#/definitions/edFi_graduationPlanReference" },
        "schoolReference": { "$ref": "#/definitions/edFi_schoolReference" },
        "schoolYearTypeReference": { "$ref": "#/definitions/edFi_schoolYearTypeReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "educationPlans": {
          "description": "An unordered collection of studentSchoolAssociationEducationPlans. The type of education plan(s) the student is following, if appropriate.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentSchoolAssociationEducationPlan" }
        },
        "employedWhileEnrolled": {
          "description": "An individual who is a paid employee or works in his or her own business, profession, or farm and at the same time is enrolled in secondary, postsecondary, or adult education.",
          "type": "boolean"
        },
        "entryGradeLevelDescriptor": {
          "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.",
          "maxLength": 306,
          "type": "string"
        },
        "entryGradeLevelReasonDescriptor": {
          "description": "The primary reason as to why a staff member determined that a student should be promoted or not (or be demoted) at the end of a given school term.",
          "maxLength": 306,
          "type": "string"
        },
        "entryTypeDescriptor": {
          "description": "The process by which a student enters a school during a given academic session.",
          "maxLength": 306,
          "type": "string"
        },
        "exitWithdrawDate": {
          "format": "date-time",
          "description": "The month, day, and year of the first day after the date of an individual's last attendance at a school (if known), the day on which an individual graduated, or the date on which it becomes known officially that an individual left school.",
          "type": "string"
        },
        "exitWithdrawTypeDescriptor": {
          "description": "The circumstances under which the student exited from membership in an educational institution.",
          "maxLength": 306,
          "type": "string"
        },
        "primarySchool": {
          "description": "Indicates if a given enrollment record should be considered the primary record for a student.",
          "type": "boolean"
        },
        "repeatGradeIndicator": {
          "description": "An indicator of whether the student is enrolling to repeat a grade level, either by failure or an agreement to hold the student back.",
          "type": "boolean"
        },
        "residencyStatusDescriptor": {
          "description": "An indication of the location of a persons legal residence relative to (within or outside of) the boundaries of the public school attended and its administrative unit.",
          "maxLength": 306,
          "type": "string"
        },
        "schoolChoiceTransfer": {
          "description": "An indication of whether students transferred in or out of the school did so during the school year under the provisions for public school choice in accordance with Title I, Part A, Section 1116.",
          "type": "boolean"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentSchoolAssociationEducationPlan": {
      "required": [ "educationPlanDescriptor" ],
      "type": "object",
      "properties": {
        "educationPlanDescriptor": {
          "description": "The type of education plan(s) the student is following, if appropriate.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_studentSchoolAttendanceEvent": {
      "required": [ "attendanceEventCategoryDescriptor", "eventDate", "id", "schoolReference", "sessionReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "attendanceEventCategoryDescriptor": {
          "description": "A code describing the attendance event, for example:          Present          Unexcused absence          Excused absence          Tardy.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "eventDate": {
          "format": "date-time",
          "description": "Date for this attendance event.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "schoolReference": { "$ref": "#/definitions/edFi_schoolReference" },
        "sessionReference": { "$ref": "#/definitions/edFi_sessionReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "attendanceEventReason": {
          "description": "The reported reason for a student's absence.",
          "maxLength": 40,
          "type": "string"
        },
        "educationalEnvironmentDescriptor": {
          "description": "The setting in which a child receives education and related services. This attribute is only used if it differs from the EducationalEnvironment of the Section. This is only used in the AttendanceEvent if different from the associated Section.",
          "maxLength": 306,
          "type": "string"
        },
        "eventDuration": {
          "format": "double",
          "description": "The amount of time for the event as recognized by the school: 1 day = 1, 1/2 day = 0.5, 1/3 day = 0.33.",
          "type": "number"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentSchoolFoodServiceProgramAssociation": {
      "required": [ "beginDate", "id", "schoolFoodServiceProgramServices", "educationOrganizationReference", "programReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "beginDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student first received services.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "schoolFoodServiceProgramServices": {
          "description": "An unordered collection of studentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramServices. Indicates the service(s) being provided to the Student by the School Food Service Program.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService" }
        },
        "educationOrganizationReference": { "$ref": "#/definitions/edFi_educationOrganizationReference" },
        "programReference": { "$ref": "#/definitions/edFi_programReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "directCertification": {
          "description": "Indicates that the student's National School Lunch Program (NSLP) eligibility has been determined through direct certification.",
          "type": "boolean"
        },
        "endDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student exited the Program or stopped receiving services.",
          "type": "string"
        },
        "reasonExitedDescriptor": {
          "description": "The reason the child left the Program within a school or district.",
          "maxLength": 306,
          "type": "string"
        },
        "servedOutsideOfRegularSession": {
          "description": "Indicates whether the Student received services during the summer session or between sessions.",
          "type": "boolean"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService": {
      "required": [ "schoolFoodServiceProgramServiceDescriptor" ],
      "type": "object",
      "properties": {
        "schoolFoodServiceProgramServiceDescriptor": {
          "description": "Indicates the service being provided to the student by the School Food Service Program.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "primaryIndicator": {
          "description": "True if service is a primary service.",
          "type": "boolean"
        },
        "serviceBeginDate": {
          "format": "date-time",
          "description": "First date the Student was in this option for the current school year.",
          "type": "string"
        },
        "serviceEndDate": {
          "format": "date-time",
          "description": "Last date the Student was in this option for the current school year.",
          "type": "string"
        }
      }
    },
    "edFi_studentSectionAssociation": {
      "required": [ "beginDate", "endDate", "homeroomIndicator", "id", "sectionReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "beginDate": {
          "format": "date-time",
          "description": "Month, day, and year of the Student's entry or assignment to the Section.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "sectionReference": { "$ref": "#/definitions/edFi_sectionReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "attemptStatusDescriptor": {
          "description": "An indication of the student's attempt status for the section.",
          "maxLength": 306,
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "description": "Month, day, and year of the withdrawal or exit of the Student from the Section.",
          "type": "string"
        },
        "homeroomIndicator": {
          "description": "Indicates the Section is the student's homeroom. Homeroom period may the convention for taking daily attendance.",
          "type": "boolean"
        },
        "repeatIdentifierDescriptor": {
          "description": "An indication as to whether a student has previously taken a given course.          Repeated, counted in grade point average          Repeated, not counted in grade point average          Not repeated          Other.",
          "maxLength": 306,
          "type": "string"
        },
        "teacherStudentDataLinkExclusion": {
          "description": "Indicates that the student-section combination is excluded from calculation of value-added or growth attribution calculations used for a particular teacher evaluation.",
          "type": "boolean"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentSectionAssociationReference": {
      "required": [ "beginDate", "localCourseCode", "schoolId", "schoolYear", "sectionIdentifier", "sessionName", "studentUniqueId" ],
      "type": "object",
      "properties": {
        "beginDate": {
          "format": "date-time",
          "description": "Month, day, and year of the Student's entry or assignment to the Section.",
          "type": "string"
        },
        "localCourseCode": {
          "description": "The local code assigned by the School that identifies the course offering provided for the instruction of students.",
          "maxLength": 60,
          "type": "string"
        },
        "schoolId": {
          "format": "int32",
          "description": "The identifier assigned to a school.",
          "type": "integer"
        },
        "schoolYear": {
          "format": "int32",
          "description": "The identifier for the school year.",
          "type": "integer"
        },
        "sectionIdentifier": {
          "description": "The local identifier assigned to a section.",
          "maxLength": 255,
          "type": "string"
        },
        "sessionName": {
          "description": "The identifier for the calendar for the academic session (e.g., 2010/11, 2011 Summer).",
          "maxLength": 60,
          "type": "string"
        },
        "studentUniqueId": {
          "description": "A unique alphanumeric code assigned to a student.",
          "maxLength": 32,
          "type": "string"
        },
        "link": { "$ref": "#/definitions/link" }
      }
    },
    "edFi_studentSectionAttendanceEvent": {
      "required": [ "attendanceEventCategoryDescriptor", "eventDate", "id", "sectionReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "attendanceEventCategoryDescriptor": {
          "description": "A code describing the attendance event, for example:          Present          Unexcused absence          Excused absence          Tardy.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "eventDate": {
          "format": "date-time",
          "description": "Date for this attendance event.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "sectionReference": { "$ref": "#/definitions/edFi_sectionReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "attendanceEventReason": {
          "description": "The reported reason for a student's absence.",
          "maxLength": 40,
          "type": "string"
        },
        "educationalEnvironmentDescriptor": {
          "description": "The setting in which a child receives education and related services. This attribute is only used if it differs from the EducationalEnvironment of the Section. This is only used in the AttendanceEvent if different from the associated Section.",
          "maxLength": 306,
          "type": "string"
        },
        "eventDuration": {
          "format": "double",
          "description": "The amount of time for the event as recognized by the school: 1 day = 1, 1/2 day = 0.5, 1/3 day = 0.33.",
          "type": "number"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentSpecialEducationProgramAssociation": {
      "required": [ "beginDate", "id", "specialEducationSettingDescriptor", "ideaEligibility", "educationOrganizationReference", "programReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "beginDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student first received services.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "educationOrganizationReference": { "$ref": "#/definitions/edFi_educationOrganizationReference" },
        "programReference": { "$ref": "#/definitions/edFi_programReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "disabilities": {
          "description": "An unordered collection of studentSpecialEducationProgramAssociationDisabilities. The disability condition(s) that best describes an individual's impairment, as related to special education services received.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentSpecialEducationProgramAssociationDisability" }
        },
        "endDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student exited the Program or stopped receiving services.",
          "type": "string"
        },
        "ideaEligibility": {
          "description": "Indicator of the eligibility of the student to receive special education services according to the Individuals with Disabilities Education Act (IDEA).",
          "type": "boolean"
        },
        "iepBeginDate": {
          "format": "date-time",
          "description": "The effective date of the most recent IEP.",
          "type": "string"
        },
        "iepEndDate": {
          "format": "date-time",
          "description": "The end date of the most recent IEP.",
          "type": "string"
        },
        "iepReviewDate": {
          "format": "date-time",
          "description": "The date of the last IEP review.",
          "type": "string"
        },
        "lastEvaluationDate": {
          "format": "date-time",
          "description": "The date of the last special education evaluation.",
          "type": "string"
        },
        "medicallyFragile": {
          "description": "Indicates whether the Student receiving special education and related services is:          1) in the age range of birth to 22 years, and          2) has a serious, ongoing illness or a chronic condition that has lasted or is anticipated to last at least 12 or more months or has required at least one month of hospitalization, and that requires daily, ongoing medical treatments and monitoring by appropriately trained personnel which may include parents or other family members, and          3) requires the routine use of medical device or of assistive technology to compensate for the loss of usefulness of a body function needed to participate in activities of daily living, and          4) lives with ongoing threat to his or her continued well-being.          Aligns with federal requirements.",
          "type": "boolean"
        },
        "multiplyDisabled": {
          "description": "Indicates whether the Student receiving special education and related services has been designated as multiply disabled by the admission, review, and dismissal committee as aligned with federal requirements.",
          "type": "boolean"
        },
        "reasonExitedDescriptor": {
          "description": "The reason the child left the Program within a school or district.",
          "maxLength": 306,
          "type": "string"
        },
        "schoolHoursPerWeek": {
          "format": "double",
          "description": "Indicate the total number of hours of instructional time per week for the school that the student attends.",
          "type": "number"
        },
        "servedOutsideOfRegularSession": {
          "description": "Indicates whether the Student received services during the summer session or between sessions.",
          "type": "boolean"
        },
        "serviceProviders": {
          "description": "An unordered collection of studentSpecialEducationProgramAssociationServiceProviders. The Staff providing special education services to the Student.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentSpecialEducationProgramAssociationServiceProvider" }
        },
        "specialEducationHoursPerWeek": {
          "format": "double",
          "description": "The number of hours per week for special education instruction and therapy.",
          "type": "number"
        },
        "specialEducationProgramServices": {
          "description": "An unordered collection of studentSpecialEducationProgramAssociationSpecialEducationProgramServices. Indicates the Service(s) being provided to the Student by the Special Education Program.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentSpecialEducationProgramAssociationSpecialEducationProgramService" }
        },
        "specialEducationSettingDescriptor": {
          "description": "The major instructional setting (more than 50 percent of a student's special education program).",
          "maxLength": 306,
          "type": "string"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentSpecialEducationProgramAssociationDisability": {
      "required": [ "disabilityDescriptor" ],
      "type": "object",
      "properties": {
        "disabilityDescriptor": {
          "description": "A disability category that describes a child's impairment.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "disabilityDeterminationSourceTypeDescriptor": {
          "description": "The source that provided the disability determination.",
          "maxLength": 306,
          "type": "string"
        },
        "disabilityDiagnosis": {
          "description": "A description of the disability diagnosis.",
          "maxLength": 80,
          "type": "string"
        },
        "orderOfDisability": {
          "format": "int32",
          "description": "The order by severity of student's disabilities: 1- Primary, 2 -  Secondary, 3 - Tertiary, etc.",
          "type": "integer"
        },
        "designations": {
          "description": "An unordered collection of studentSpecialEducationProgramAssociationDisabilityDesignations. Whether the disability is IDEA, Section 504, or other disability designation.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentSpecialEducationProgramAssociationDisabilityDesignation" }
        }
      }
    },
    "edFi_studentSpecialEducationProgramAssociationDisabilityDesignation": {
      "required": [ "disabilityDesignationDescriptor" ],
      "type": "object",
      "properties": {
        "disabilityDesignationDescriptor": {
          "description": "Whether the disability is IDEA, Section 504, or other disability designation.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "edFi_studentSpecialEducationProgramAssociationServiceProvider": {
      "required": [ "staffReference" ],
      "type": "object",
      "properties": {
        "primaryProvider": {
          "description": "Primary ServiceProvider.",
          "type": "boolean"
        },
        "staffReference": { "$ref": "#/definitions/edFi_staffReference" }
      }
    },
    "edFi_studentSpecialEducationProgramAssociationSpecialEducationProgramService": {
      "required": [ "specialEducationProgramServiceDescriptor" ],
      "type": "object",
      "properties": {
        "specialEducationProgramServiceDescriptor": {
          "description": "Indicates the service being provided to the student by the Special Education Program.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "primaryIndicator": {
          "description": "True if service is a primary service.",
          "type": "boolean"
        },
        "serviceBeginDate": {
          "format": "date-time",
          "description": "First date the Student was in this option for the current school year.",
          "type": "string"
        },
        "serviceEndDate": {
          "format": "date-time",
          "description": "Last date the Student was in this option for the current school year.",
          "type": "string"
        }
      }
    },
    "edFi_studentTitleIPartAProgramAssociation": {
      "required": [ "beginDate", "id", "titleIPartAParticipantDescriptor", "educationOrganizationReference", "programReference", "studentReference" ],
      "type": "object",
      "properties": {
        "id": {
          "description": "",
          "type": "string"
        },
        "beginDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student first received services.",
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "educationOrganizationReference": { "$ref": "#/definitions/edFi_educationOrganizationReference" },
        "programReference": { "$ref": "#/definitions/edFi_programReference" },
        "studentReference": { "$ref": "#/definitions/edFi_studentReference" },
        "endDate": {
          "format": "date-time",
          "description": "The month, day, and year on which the Student exited the Program or stopped receiving services.",
          "type": "string"
        },
        "reasonExitedDescriptor": {
          "description": "The reason the child left the Program within a school or district.",
          "maxLength": 306,
          "type": "string"
        },
        "servedOutsideOfRegularSession": {
          "description": "Indicates whether the Student received services during the summer session or between sessions.",
          "type": "boolean"
        },
        "services": {
          "description": "An unordered collection of studentTitleIPartAProgramAssociationServices. Indicates the Service(s) being provided to the Student by the Program.",
          "type": "array",
          "items": { "$ref": "#/definitions/edFi_studentTitleIPartAProgramAssociationService" }
        },
        "titleIPartAParticipantDescriptor": {
          "description": "An indication of the type of Title I program, if any, in which the student is participating and by which the student is served:          Public Targeted Assistance Program          Public Schoolwide Program          Private School Students Participating          Local Neglected Program.",
          "maxLength": 306,
          "type": "string"
        },
        "_etag": {
          "description": "A unique system-generated value that identifies the version of the resource.",
          "type": "string"
        }
      }
    },
    "edFi_studentTitleIPartAProgramAssociationService": {
      "required": [ "serviceDescriptor" ],
      "type": "object",
      "properties": {
        "serviceDescriptor": {
          "description": "Indicates the Service being provided to the student by the Program.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        },
        "primaryIndicator": {
          "description": "True if service is a primary service.",
          "type": "boolean"
        },
        "serviceBeginDate": {
          "format": "date-time",
          "description": "First date the Student was in this option for the current school year.",
          "type": "string"
        },
        "serviceEndDate": {
          "format": "date-time",
          "description": "Last date the Student was in this option for the current school year.",
          "type": "string"
        }
      }
    },
    "edFi_studentVisa": {
      "required": [ "visaDescriptor" ],
      "type": "object",
      "properties": {
        "visaDescriptor": {
          "description": "An indicator of a non-US citizen's Visa type.",
          "maxLength": 306,
          "type": "string",
          "x-Ed-Fi-isIdentity": true
        }
      }
    },
    "link": {
      "type": "object",
      "properties": {
        "rel": {
          "description": "Describes the nature of the relationship to the referenced resource.",
          "type": "string"
        },
        "href": {
          "description": "The URL to the related resource.",
          "type": "string"
        }
      }
    }
  },
  "parameters": {
    "offset": {
      "name": "offset",
      "in": "query",
      "description": "Indicates how many items should be skipped before returning results.",
      "required": false,
      "type": "integer",
      "format": "int32"
    },
    "limit": {
      "name": "limit",
      "in": "query",
      "description": "Indicates the maximum number of items that should be returned in the results.",
      "required": false,
      "type": "integer",
      "format": "int32",
      "maxItems": 100,
      "minItems": 1
    },
    "If-None-Match": {
      "name": "If-None-Match",
      "in": "header",
      "description": "The previously returned ETag header value, used here to prevent the unnecessary data transfer of an unchanged resource.",
      "required": false,
      "type": "string"
    },
    "id": {
      "name": "id",
      "in": "path",
      "description": "A resource identifier that uniquely identifies the resource.",
      "required": true,
      "type": "string"
    },
    "fields": {
      "name": "fields",
      "in": "query",
      "description": "Specifies a subset of properties that should be returned for each entity (e.g. \"property1,collection1(collProp1,collProp2)\").",
      "required": false,
      "type": "string"
    },
    "queryExpression": {
      "name": "q",
      "in": "query",
      "description": "Specifies a query filter expression for the request. Currently only supports range-based queries on dates and numbers (e.g. \"[2016-03-07..2016-03-10]\").",
      "required": false,
      "type": "string"
    }
  },
  "responses": {
    "Created": { "description": "The resource was created.  An ETag value is available in the ETag header, and the location of the resource is available in the Location header of the response." },
    "Updated": { "description": "The resource was updated.  An updated ETag value is available in the ETag header of the response." },
    "Deleted": { "description": "The resource was successfully deleted." },
    "NotModified": { "description": "The resource's current server-side ETag value matched the If-None-Match header value supplied with the request indicating the resource has not been modified." },
    "BadRequest": { "description": "Bad Request. The request was invalid and cannot be completed. See the response body for specific validation errors. This will typically be an issue with the query parameters or their values." },
    "Unauthorized": { "description": "Unauthorized. The request requires authentication. The OAuth bearer token was either not provided or is invalid. The operation may succeed once authentication has been successfully completed." },
    "Forbidden": { "description": "Forbidden. The request cannot be completed in the current authorization context. Contact your administrator if you believe this operation should be allowed." },
    "NotFound": { "description": "The resource could not be found." },
    "Conflict": { "description": "Conflict.  The request cannot be completed because it would result in an invalid state.  See the response body for details." },
    "PreconditionFailed": { "description": "The resource's current server-side ETag value does not match the supplied If-Match header value in the request. This indicates the resource has been modified by another consumer." },
    "Error": { "description": "An unhandled error occurred on the server. See the response body for details." }
  },
  "securityDefinitions": {
    "oauth2_client_credentials": {
      "type": "oauth2",
      "description": "Ed-Fi ODS/API OAuth 2.0 Client Credentials Grant Type authorization",
      "flow": "application",
      "tokenUrl": "http://localhost:54746/oauth/token",
      "scopes": { }
    }
  },
  "security": [ { "oauth2_client_credentials": [ ] } ],
  "tags": [
    {
      "name": "bellSchedules",
      "description": "This entity represents the schedule of class period meeting times."
    },
    {
      "name": "calendarDates",
      "description": "The type of scheduled or unscheduled event for the day."
    },
    {
      "name": "calendars",
      "description": "A set of dates associated with an organization."
    },
    {
      "name": "classPeriods",
      "description": "This entity represents the designation of a regularly scheduled series of class meetings at designated times and days of the week."
    },
    {
      "name": "cohorts",
      "description": "This entity represents any type of list of designated students for tracking, analysis, or intervention."
    },
    {
      "name": "courseOfferings",
      "description": "This entity represents an entry in the course catalog of available courses offered by the school during a session."
    },
    {
      "name": "courses",
      "description": "This educational entity represents the organization of subject matter and related learning experiences provided for the instruction of students on a regular or systematic basis."
    },
    {
      "name": "courseTranscripts",
      "description": "This entity is the final record of a student's performance in their courses at the end of a semester or school year."
    },
    {
      "name": "disciplineActions",
      "description": "This event entity represents actions taken by an education organization after a disruptive event that is recorded as a discipline incident."
    },
    {
      "name": "disciplineIncidents",
      "description": "This event entity represents an occurrence of an infraction ranging from a minor behavioral problem that disrupts the orderly functioning of a school or classroom (such as tardiness) to a criminal act that results in the involvement of a law enforcement official (such as robbery). A single event (e.g., a fight) is one incident regardless of how many perpetrators or victims are involved. Discipline incidents are events classified as warranting discipline action."
    },
    {
      "name": "grades",
      "description": "This educational entity represents an overall score or assessment tied to a course over a period of time (i.e., the grading period). Student grades are usually a compilation of marks and other scores."
    },
    {
      "name": "gradingPeriods",
      "description": "This entity represents the time span for which grades are reported."
    },
    {
      "name": "graduationPlans",
      "description": "This entity is a plan outlining the required credits, credits by subject, credits by course, and other criteria required for graduation. A graduation plan may be one or more standard plans defined by an education organization and/or individual plans for some or all students."
    },
    {
      "name": "localEducationAgencies",
      "description": "This entity represents an administrative unit at the local level which exists primarily to operate schools or to contract for educational services. It includes school districts, charter schools, charter management organizations, or other local administrative organizations."
    },
    {
      "name": "locations",
      "description": "This entity represents the physical space where students gather for a particular class/section. The Location may be an indoor or outdoor area designated for the purpose of meeting the educational needs of students."
    },
    {
      "name": "parents",
      "description": "This entity represents a parent or guardian of a student, such as mother, father, or caretaker."
    },
    {
      "name": "programs",
      "description": "This entity represents any program designed to work in conjunction with, or as a supplement to, the main academic program. Programs may provide instruction, training, services, or benefits through federal, state, or local agencies. Programs may also include organized extracurricular activities for students."
    },
    {
      "name": "schools",
      "description": "This entity represents an educational organization that includes staff and students who participate in classes and educational activity groups."
    },
    {
      "name": "schoolYearTypes",
      "description": "Identifier for a school year."
    },
    {
      "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": "sessions",
      "description": "A term in the school year, generally a unit of time into which courses are scheduled, instruction occurs and by which credits are awarded. Sessions may be interrupted by vacations or other events."
    },
    {
      "name": "staffCohortAssociations",
      "description": "This association indicates the Staff associated with a cohort of students."
    },
    {
      "name": "staffEducationOrganizationAssignmentAssociations",
      "description": "This association indicates the education organization to which a staff member provides services; also known as school of service."
    },
    {
      "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:\r\n    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\r\n    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\r\n    3. A \"volunteer\" who performs services on a voluntary and uncompensated basis\r\n    4. An in-kind service provider\r\n    5. An independent contractor or businessperson working at a school site."
    },
    {
      "name": "staffSchoolAssociations",
      "description": "This association indicates the School(s) to which a staff member provides instructional services."
    },
    {
      "name": "staffSectionAssociations",
      "description": "This association indicates the class sections to which a staff member is assigned."
    },
    {
      "name": "studentAcademicRecords",
      "description": "This educational entity represents the cumulative record of academic achievement for a student."
    },
    {
      "name": "studentCohortAssociations",
      "description": "This association represents the Cohort(s) for which a student is designated."
    },
    {
      "name": "studentCTEProgramAssociations",
      "description": "This association represents the career and technical education (CTE) program that a student participates in. The association is an extension of the StudentProgramAssociation particular for CTE programs."
    },
    {
      "name": "studentDisciplineIncidentAssociations",
      "description": "This association indicates those students who were victims, perpetrators, witnesses, and reporters for a discipline incident."
    },
    {
      "name": "studentEducationOrganizationAssociations",
      "description": "This association represents student information that is specific to a student's relationship with an EducationOrganization. Enrollment relationship semantics are covered by StudentSchoolAssociation."
    },
    {
      "name": "studentHomelessProgramAssociations",
      "description": "This association represents the McKinney-Vento Homeless Program program(s) that a student participates in or from which the Student receives services."
    },
    {
      "name": "studentLanguageInstructionProgramAssociations",
      "description": "This association represents the Title III Language Instruction for Limited English Proficient and Immigrant Students program(s) that a student participates in or from which the Student receives services."
    },
    {
      "name": "studentMigrantEducationProgramAssociations",
      "description": "This association represents the migrant education program(s) that a student participates in or receives services from. The association is an extension of the StudentProgramAssociation with added elements particular to migrant education programs."
    },
    {
      "name": "studentNeglectedOrDelinquentProgramAssociations",
      "description": "This association represents the Title I Part D Neglected or Delinquent program(s) that a student participates in or from which the Student receives services."
    },
    {
      "name": "studentParentAssociations",
      "description": "This association relates students to their parents, guardians, or caretakers."
    },
    {
      "name": "studentProgramAssociations",
      "description": "This association represents the Program(s) that a student participates in or is served by."
    },
    {
      "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."
    },
    {
      "name": "studentSchoolAssociations",
      "description": "This association represents the School in which a student is enrolled. The semantics of enrollment may differ slightly by state. Non-enrollment relationships between a student and an education organization may be described using the StudentEducationOrganizationAssociation."
    },
    {
      "name": "studentSchoolAttendanceEvents",
      "description": "This event entity represents the recording of whether a student is in attendance for a school day."
    },
    {
      "name": "studentSchoolFoodServiceProgramAssociations",
      "description": "This association represents the school food services program(s), such as the Free or Reduced Lunch Program, that a student participates in or from which the Student receives services."
    },
    {
      "name": "studentSectionAssociations",
      "description": "This association indicates the course sections to which a student is assigned."
    },
    {
      "name": "studentSectionAttendanceEvents",
      "description": "This event entity represents the recording of whether a student is in attendance for a section."
    },
    {
      "name": "studentSpecialEducationProgramAssociations",
      "description": "This association represents the special education program(s) that a student participates in or receives services from. The association is an extension of the StudentProgramAssociation particular for special education programs."
    },
    {
      "name": "studentTitleIPartAProgramAssociations",
      "description": "This association represents the Title I Part A program(s) that a student participates in or from which the Student receives services. The association is an extension of the StudentProgramAssociation particular for Title I Part A programs."
    }
  ]
}