openapi: 3.0.3
info:
  title: Data API
  description: 'Please visit [Using the Data API](../docs/concepts/using-the-data-api.md) to get started'
  contact:
    name: Veracross
    url: 'https://www.veracross.com/api'
  version: 3.0.0
servers:
  - url: 'https://api.veracross.com/{school_route}/v3'
    description: Base URL
paths:
  '/academics/assignments/{assignment_id}/grades':
    get:
      tags:
        - 'Academics: Assignment Grades'
      summary: 'List Academics: Assignment Grades'
      operationId: list_academics_assignment_grades
      parameters:
        - name: student_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Class Assignment Person ID
                          readOnly: true
                        student_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        completion_status:
                          type: integer
                          description: Completion Status
                        raw_score:
                          type: number
                          description: Raw Score
                        private_notes_for_teacher:
                          type: string
                          description: Private Notes for Teacher
                          maxLength: 1500
                        dropbox_status:
                          type: integer
                          description: Dropbox Status
                        publish_status:
                          type: integer
                          description: Publish Status
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - student_id
                        - completion_status
                        - raw_score
                        - private_notes_for_teacher
                        - dropbox_status
                        - publish_status
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - completion_status
                              - dropbox_status
                              - publish_status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.assignments.grades:list'
    parameters:
      - name: assignment_id
        in: path
        description: Class Assignment ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/academics/assignments/{assignment_id}/grades/{id}':
    get:
      tags:
        - 'Academics: Assignment Grades'
      summary: 'Read Academics: Assignment Grades'
      operationId: read_academics_assignment_grades
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Class Assignment Person ID
                        readOnly: true
                      student_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      completion_status:
                        type: integer
                        description: Completion Status
                      raw_score:
                        type: number
                        description: Raw Score
                      private_notes_for_teacher:
                        type: string
                        description: Private Notes for Teacher
                        maxLength: 1500
                      dropbox_status:
                        type: integer
                        description: Dropbox Status
                      publish_status:
                        type: integer
                        description: Publish Status
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - student_id
                      - completion_status
                      - raw_score
                      - private_notes_for_teacher
                      - dropbox_status
                      - publish_status
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - completion_status
                              - dropbox_status
                              - publish_status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.assignments.grades:read'
    parameters:
      - name: id
        in: path
        description: Class Assignment Person ID
        required: true
        schema:
          type: integer
      - name: assignment_id
        in: path
        description: Class Assignment ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Academics: Assignment Grades'
      summary: 'Update Academics: Assignment Grades'
      operationId: update_academics_assignment_grades
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Class Assignment Person ID
                      readOnly: true
                    student_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    completion_status:
                      type: integer
                      description: Completion Status
                    raw_score:
                      type: number
                      description: Raw Score
                    private_notes_for_teacher:
                      type: string
                      description: Private Notes for Teacher
                      maxLength: 1500
                    dropbox_status:
                      type: integer
                      description: Dropbox Status
                    publish_status:
                      type: integer
                      description: Publish Status
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.assignments.grades:update'
  /academics/config/block_groups:
    get:
      tags:
        - 'Academics: Block Groups'
      summary: 'List Academics: Block Groups'
      operationId: list_academics_block_groups
      parameters:
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 50
                        sort_key:
                          type: integer
                          description: Sort Key
                      required:
                        - id
                        - description
                        - sort_key
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.config.block_groups:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/academics/config/block_groups/{id}':
    get:
      tags:
        - 'Academics: Block Groups'
      summary: 'Read Academics: Block Groups'
      operationId: read_academics_block_groups
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ID
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 50
                      sort_key:
                        type: integer
                        description: Sort Key
                    required:
                      - id
                      - description
                      - sort_key
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.config.block_groups:read'
    parameters:
      - name: id
        in: path
        description: ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /academics/config/blocks_by_block_groups:
    get:
      tags:
        - 'Academics: Blocks by Group'
      summary: 'List Academics: Blocks by Group'
      operationId: list_academics_blocks_by_group
      parameters:
        - name: block_group_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        block:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 6
                          required:
                            - id
                            - description
                            - abbreviation
                        block_group:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                          required:
                            - id
                            - description
                      required:
                        - block
                        - block_group
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.config.blocks_by_block_groups:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/academics/config/blocks_by_block_groups/{id}':
    get:
      tags:
        - 'Academics: Blocks by Group'
      summary: 'Read Academics: Blocks by Group'
      operationId: read_academics_blocks_by_group
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      block:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 6
                        required:
                          - id
                          - description
                          - abbreviation
                      block_group:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                        required:
                          - id
                          - description
                    required:
                      - block
                      - block_group
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.config.blocks_by_block_groups:read'
    parameters:
      - name: id
        in: path
        description: ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /academics/calendar_rotation_days:
    get:
      tags:
        - 'Academics: Calendar Rotation Days'
      summary: 'List Academics: Calendar Rotation Days'
      operationId: list_academics_calendar_rotation_days
      parameters:
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: date
          in: query
          description: Calendar Date
          required: false
          schema:
            type: string
            format: date
        - name: rotation_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: day_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: block_schedule_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: date_on_or_after
          in: query
          description: Calendar Date
          required: false
          schema:
            type: string
            format: date
        - name: date_on_or_before
          in: query
          description: Calendar Date
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Calendar Day Rotation ID
                          readOnly: true
                        school_year:
                          type: integer
                          description: School Year
                        date:
                          type: string
                          format: date
                          description: Calendar Date
                        rotation:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                          required:
                            - id
                            - description
                        day:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 8
                          required:
                            - id
                            - description
                            - abbreviation
                        block_schedule:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                          required:
                            - id
                            - description
                      required:
                        - id
                        - school_year
                        - date
                        - rotation
                        - day
                        - block_schedule
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - school_year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.calendar_rotation_days:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/academics/calendar_rotation_days/{id}':
    get:
      tags:
        - 'Academics: Calendar Rotation Days'
      summary: 'Read Academics: Calendar Rotation Days'
      operationId: read_academics_calendar_rotation_days
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Calendar Day Rotation ID
                        readOnly: true
                      school_year:
                        type: integer
                        description: School Year
                      date:
                        type: string
                        format: date
                        description: Calendar Date
                      rotation:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                        required:
                          - id
                          - description
                      day:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 8
                        required:
                          - id
                          - description
                          - abbreviation
                      block_schedule:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                        required:
                          - id
                          - description
                    required:
                      - id
                      - school_year
                      - date
                      - rotation
                      - day
                      - block_schedule
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - school_year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.calendar_rotation_days:read'
    parameters:
      - name: id
        in: path
        description: Calendar Day Rotation ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/academics/classes/{internal_class_id}/assignments':
    post:
      tags:
        - 'Academics: Class Assignments'
      summary: 'Create Academics: Class Assignments'
      operationId: create_academics_class_assignments
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Class Assignment ID
                      readOnly: true
                    internal_class_id:
                      type: integer
                      description: Internal Class ID
                    assignment_type:
                      type: integer
                      description: |-
                        Assignment Type

                        The type of assignment: for ex. Homework, Quiz, Exam, etc.
                    description:
                      type: string
                      description: Description
                      maxLength: 256
                    assignment_details:
                      type: string
                      description: Notes
                    max_score:
                      type: integer
                      description: |-
                        Maximum Score

                        The maximum possible score for this assignment
                    weight:
                      type: integer
                      description: |-
                        Weight (Pts)

                        The weight for this assignment
                    not_to_be_graded:
                      type: boolean
                      description: |-
                        Not to be Graded

                        If selected, this assignment will not factor into the students&#39; grades.  Any grades that are entered will NOT count towards the final grades.
                    date_assigned:
                      type: string
                      format: date
                      description: |-
                        Date Assigned

                        The date on which this assignment was assigned
                    date_due:
                      type: string
                      format: date
                      description: |-
                        Due Date

                        The date this assignment is due
                    display_status:
                      type: integer
                      description: Display Status
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
                  required:
                    - internal_class_id
                    - assignment_type
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.classes.assignments:create'
    parameters:
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Academics: Class Assignments'
      summary: 'List Academics: Class Assignments'
      operationId: list_academics_class_assignments
      parameters:
        - name: assignment_type
          in: query
          description: |-
            Assignment Type

            The type of assignment: for ex. Homework, Quiz, Exam, etc.
          required: false
          schema:
            type: integer
        - name: date_assigned
          in: query
          description: |-
            Date Assigned

            The date on which this assignment was assigned
          required: false
          schema:
            type: string
            format: date
        - name: date_due
          in: query
          description: |-
            Due Date

            The date this assignment is due
          required: false
          schema:
            type: string
            format: date
        - name: last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_date_assigned
          in: query
          description: |-
            Date Assigned

            The date on which this assignment was assigned
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_date_assigned
          in: query
          description: |-
            Date Assigned

            The date on which this assignment was assigned
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_date_due
          in: query
          description: |-
            Due Date

            The date this assignment is due
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_date_due
          in: query
          description: |-
            Due Date

            The date this assignment is due
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Class Assignment ID
                          readOnly: true
                        internal_class_id:
                          type: integer
                          description: Internal Class ID
                        assignment_type:
                          type: integer
                          description: |-
                            Assignment Type

                            The type of assignment: for ex. Homework, Quiz, Exam, etc.
                        description:
                          type: string
                          description: Description
                          maxLength: 256
                        assignment_details:
                          type: string
                          description: Notes
                        max_score:
                          type: integer
                          description: |-
                            Maximum Score

                            The maximum possible score for this assignment
                        weight:
                          type: integer
                          description: |-
                            Weight (Pts)

                            The weight for this assignment
                        not_to_be_graded:
                          type: boolean
                          description: |-
                            Not to be Graded

                            If selected, this assignment will not factor into the students&#39; grades.  Any grades that are entered will NOT count towards the final grades.
                        date_assigned:
                          type: string
                          format: date
                          description: |-
                            Date Assigned

                            The date on which this assignment was assigned
                        date_due:
                          type: string
                          format: date
                          description: |-
                            Due Date

                            The date this assignment is due
                        display_status:
                          type: integer
                          description: Display Status
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - internal_class_id
                        - assignment_type
                        - description
                        - assignment_details
                        - max_score
                        - weight
                        - not_to_be_graded
                        - date_assigned
                        - date_due
                        - display_status
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - assignment_type
                              - display_status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.classes.assignments:list'
  '/academics/classes/{internal_class_id}/assignments/{id}':
    delete:
      tags:
        - 'Academics: Class Assignments'
      summary: 'Delete Academics: Class Assignments'
      operationId: delete_academics_class_assignments
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.classes.assignments:delete'
    parameters:
      - name: id
        in: path
        description: Class Assignment ID
        required: true
        schema:
          type: integer
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Academics: Class Assignments'
      summary: 'Read Academics: Class Assignments'
      operationId: read_academics_class_assignments
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Class Assignment ID
                        readOnly: true
                      internal_class_id:
                        type: integer
                        description: Internal Class ID
                      assignment_type:
                        type: integer
                        description: |-
                          Assignment Type

                          The type of assignment: for ex. Homework, Quiz, Exam, etc.
                      description:
                        type: string
                        description: Description
                        maxLength: 256
                      assignment_details:
                        type: string
                        description: Notes
                      max_score:
                        type: integer
                        description: |-
                          Maximum Score

                          The maximum possible score for this assignment
                      weight:
                        type: integer
                        description: |-
                          Weight (Pts)

                          The weight for this assignment
                      not_to_be_graded:
                        type: boolean
                        description: |-
                          Not to be Graded

                          If selected, this assignment will not factor into the students&#39; grades.  Any grades that are entered will NOT count towards the final grades.
                      date_assigned:
                        type: string
                        format: date
                        description: |-
                          Date Assigned

                          The date on which this assignment was assigned
                      date_due:
                        type: string
                        format: date
                        description: |-
                          Due Date

                          The date this assignment is due
                      display_status:
                        type: integer
                        description: Display Status
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - internal_class_id
                      - assignment_type
                      - description
                      - assignment_details
                      - max_score
                      - weight
                      - not_to_be_graded
                      - date_assigned
                      - date_due
                      - display_status
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - assignment_type
                              - display_status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.classes.assignments:read'
    patch:
      tags:
        - 'Academics: Class Assignments'
      summary: 'Update Academics: Class Assignments'
      operationId: update_academics_class_assignments
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Class Assignment ID
                      readOnly: true
                    internal_class_id:
                      type: integer
                      description: Internal Class ID
                    assignment_type:
                      type: integer
                      description: |-
                        Assignment Type

                        The type of assignment: for ex. Homework, Quiz, Exam, etc.
                    description:
                      type: string
                      description: Description
                      maxLength: 256
                    assignment_details:
                      type: string
                      description: Notes
                    max_score:
                      type: integer
                      description: |-
                        Maximum Score

                        The maximum possible score for this assignment
                    weight:
                      type: integer
                      description: |-
                        Weight (Pts)

                        The weight for this assignment
                    not_to_be_graded:
                      type: boolean
                      description: |-
                        Not to be Graded

                        If selected, this assignment will not factor into the students&#39; grades.  Any grades that are entered will NOT count towards the final grades.
                    date_assigned:
                      type: string
                      format: date
                      description: |-
                        Date Assigned

                        The date on which this assignment was assigned
                    date_due:
                      type: string
                      format: date
                      description: |-
                        Due Date

                        The date this assignment is due
                    display_status:
                      type: integer
                      description: Display Status
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.classes.assignments:update'
  /academics/class_attendance_statuses:
    get:
      tags:
        - 'Academics: Class Attendance Status'
      summary: 'List Academics: Class Attendance Status'
      operationId: list_academics_class_attendance_status
      parameters:
        - name: internal_class_id
          in: query
          description: Internal Class ID
          required: false
          schema:
            type: integer
        - name: date
          in: query
          description: |-
            Attendance Date

            Attendance Date for the class attendance status history record
          required: false
          schema:
            type: string
            format: date
        - name: takes_daily_attendance_today
          in: query
          description: Takes Daily Attendance on Date
          required: false
          schema:
            type: boolean
        - name: attendance_status
          in: query
          description: Attendance Status
          required: false
          schema:
            type: integer
        - name: campus_id
          in: query
          description: Campus ID
          required: false
          schema:
            type: integer
        - name: school_level
          in: query
          description: School Level
          required: false
          schema:
            type: integer
        - name: course_type
          in: query
          description: Course Type
          required: false
          schema:
            type: integer
        - name: internal_course_id
          in: query
          description: Internal Course ID
          required: false
          schema:
            type: integer
        - name: teacher_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: course_type_not
          in: query
          description: Course Type
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Class Attendance Status History ID
                          readOnly: true
                        internal_class_id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        date:
                          type: string
                          format: date
                          description: |-
                            Attendance Date

                            Attendance Date for the class attendance status history record
                        takes_daily_attendance_today:
                          type: boolean
                          description: Takes Daily Attendance on Date
                          readOnly: true
                        attendance_status:
                          type: integer
                          description: Attendance Status
                        class:
                          type: object
                          properties:
                            id:
                              type: string
                              description: |-
                                Class ID

                                Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                                Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                              maxLength: 20
                            description:
                              type: string
                              description: Description
                              maxLength: 80
                            campus_id:
                              type: integer
                              description: Campus ID
                            campus_description:
                              type: string
                              description: Description
                              maxLength: 50
                            school_level:
                              type: integer
                              description: School Level
                            course_type:
                              type: integer
                              description: Course Type
                            internal_course_id:
                              type: integer
                              description: Internal Course ID
                              readOnly: true
                            course_id:
                              type: string
                              description: Course ID
                              maxLength: 15
                            course_description:
                              type: string
                              description: Course
                            subject:
                              type: integer
                              description: Subject
                          required:
                            - id
                            - description
                            - campus_id
                            - campus_description
                            - school_level
                            - course_type
                            - internal_course_id
                            - course_id
                            - course_description
                            - subject
                        teacher_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        teacher_name:
                          type: string
                          description: |-
                            Full Name

                            The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                          readOnly: true
                      required:
                        - id
                        - internal_class_id
                        - date
                        - takes_daily_attendance_today
                        - attendance_status
                        - class
                        - teacher_id
                        - teacher_name
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - attendance_status
                              - class.school_level
                              - class.course_type
                              - class.subject
                              - course_type_not
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.class_attendance_statuses:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/academics/class_attendance_statuses/{id}':
    get:
      tags:
        - 'Academics: Class Attendance Status'
      summary: 'Read Academics: Class Attendance Status'
      operationId: read_academics_class_attendance_status
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Class Attendance Status History ID
                        readOnly: true
                      internal_class_id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      date:
                        type: string
                        format: date
                        description: |-
                          Attendance Date

                          Attendance Date for the class attendance status history record
                      takes_daily_attendance_today:
                        type: boolean
                        description: Takes Daily Attendance on Date
                        readOnly: true
                      attendance_status:
                        type: integer
                        description: Attendance Status
                      class:
                        type: object
                        properties:
                          id:
                            type: string
                            description: |-
                              Class ID

                              Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                              Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                            maxLength: 20
                          description:
                            type: string
                            description: Description
                            maxLength: 80
                          campus_id:
                            type: integer
                            description: Campus ID
                          campus_description:
                            type: string
                            description: Description
                            maxLength: 50
                          school_level:
                            type: integer
                            description: School Level
                          course_type:
                            type: integer
                            description: Course Type
                          internal_course_id:
                            type: integer
                            description: Internal Course ID
                            readOnly: true
                          course_id:
                            type: string
                            description: Course ID
                            maxLength: 15
                          course_description:
                            type: string
                            description: Course
                          subject:
                            type: integer
                            description: Subject
                        required:
                          - id
                          - description
                          - campus_id
                          - campus_description
                          - school_level
                          - course_type
                          - internal_course_id
                          - course_id
                          - course_description
                          - subject
                      teacher_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      teacher_name:
                        type: string
                        description: |-
                          Full Name

                          The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                        readOnly: true
                    required:
                      - id
                      - internal_class_id
                      - date
                      - takes_daily_attendance_today
                      - attendance_status
                      - class
                      - teacher_id
                      - teacher_name
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - attendance_status
                              - class.school_level
                              - class.course_type
                              - class.subject
                              - course_type_not
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.class_attendance_statuses:read'
    parameters:
      - name: id
        in: path
        description: Class Attendance Status History ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Academics: Class Attendance Status'
      summary: 'Update Academics: Class Attendance Status'
      operationId: update_academics_class_attendance_status
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Class Attendance Status History ID
                      readOnly: true
                    internal_class_id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    date:
                      type: string
                      format: date
                      description: |-
                        Attendance Date

                        Attendance Date for the class attendance status history record
                    takes_daily_attendance_today:
                      type: boolean
                      description: Takes Daily Attendance on Date
                      readOnly: true
                    attendance_status:
                      type: integer
                      description: Attendance Status
                    class:
                      type: object
                      properties:
                        id:
                          type: string
                          description: |-
                            Class ID

                            Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                            Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                          maxLength: 20
                        description:
                          type: string
                          description: Description
                          maxLength: 80
                        campus_id:
                          type: integer
                          description: Campus ID
                        campus_description:
                          type: string
                          description: Description
                          maxLength: 50
                        school_level:
                          type: integer
                          description: School Level
                        course_type:
                          type: integer
                          description: Course Type
                        internal_course_id:
                          type: integer
                          description: Internal Course ID
                          readOnly: true
                        course_id:
                          type: string
                          description: Course ID
                          maxLength: 15
                        course_description:
                          type: string
                          description: Course
                        subject:
                          type: integer
                          description: Subject
                      required:
                        - id
                        - description
                        - campus_id
                        - campus_description
                        - school_level
                        - course_type
                        - internal_course_id
                        - course_id
                        - course_description
                        - subject
                    teacher_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    teacher_name:
                      type: string
                      description: |-
                        Full Name

                        The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.class_attendance_statuses:update'
  '/academics/classes/{internal_class_id}/meeting_times':
    get:
      tags:
        - 'Academics: Class Meeting Times'
      summary: 'List Academics: Class Meeting Times'
      operationId: list_academics_class_meeting_times
      parameters:
        - name: date
          in: query
          description: Calendar Date
          required: false
          schema:
            type: string
            format: date
        - name: grading_period_id
          in: query
          description: Grading Period
          required: false
          schema:
            type: integer
        - name: on_or_after_date
          in: query
          description: Calendar Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_date
          in: query
          description: Calendar Date
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Class Calendar Day ID
                          readOnly: true
                        internal_class_id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        date:
                          type: string
                          format: date
                          description: Calendar Date
                        start_time:
                          type: string
                          format: date-time
                          description: Start Time
                        end_time:
                          type: string
                          format: date-time
                          description: End Time
                        grading_period:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Grading Period
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 20
                          required:
                            - id
                            - description
                            - abbreviation
                        day:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Day
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 8
                          required:
                            - id
                            - description
                            - abbreviation
                        block:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Block
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 6
                          required:
                            - id
                            - description
                            - abbreviation
                        room:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Room
                            description:
                              type: string
                              description: Description
                              maxLength: 100
                          required:
                            - id
                            - description
                      required:
                        - id
                        - internal_class_id
                        - date
                        - start_time
                        - end_time
                        - grading_period
                        - day
                        - block
                        - room
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - grading_period.id
                              - day.id
                              - block.id
                              - room.id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.classes.meeting_times:list'
    parameters:
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/academics/classes/{internal_class_id}/meeting_times/{id}':
    get:
      tags:
        - 'Academics: Class Meeting Times'
      summary: 'Read Academics: Class Meeting Times'
      operationId: read_academics_class_meeting_times
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Class Calendar Day ID
                        readOnly: true
                      internal_class_id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      date:
                        type: string
                        format: date
                        description: Calendar Date
                      start_time:
                        type: string
                        format: date-time
                        description: Start Time
                      end_time:
                        type: string
                        format: date-time
                        description: End Time
                      grading_period:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Grading Period
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 20
                        required:
                          - id
                          - description
                          - abbreviation
                      day:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Day
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 8
                        required:
                          - id
                          - description
                          - abbreviation
                      block:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Block
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 6
                        required:
                          - id
                          - description
                          - abbreviation
                      room:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Room
                          description:
                            type: string
                            description: Description
                            maxLength: 100
                        required:
                          - id
                          - description
                    required:
                      - id
                      - internal_class_id
                      - date
                      - start_time
                      - end_time
                      - grading_period
                      - day
                      - block
                      - room
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - grading_period.id
                              - day.id
                              - block.id
                              - room.id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.classes.meeting_times:read'
    parameters:
      - name: id
        in: path
        description: Class Calendar Day ID
        required: true
        schema:
          type: integer
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /academics/class_schedules:
    get:
      tags:
        - 'Academics: Class Schedules'
      summary: 'List Academics: Class Schedules'
      operationId: list_academics_class_schedules
      parameters:
        - name: school_level
          in: query
          description: School Level
          required: false
          schema:
            type: integer
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: block_group
          in: query
          description: Block Group
          required: false
          schema:
            type: integer
        - name: room_id
          in: query
          description: |-
            Room (Class Sched)

            Can be used as an override for the class &quot;Room&quot; if the class meets in different rooms depending on the day.
          required: false
          schema:
            type: integer
        - name: campus_id
          in: query
          description: Campus ID
          required: false
          schema:
            type: integer
        - name: grading_period_id
          in: query
          description: Grading Period
          required: false
          schema:
            type: integer
        - name: day_id
          in: query
          description: Day
          required: false
          schema:
            type: integer
        - name: block_id
          in: query
          description: Block
          required: false
          schema:
            type: integer
        - name: primary_teacher_id
          in: query
          description: Teacher ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Class Schedule ID
                          readOnly: true
                        internal_class_id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        class_id:
                          type: string
                          description: |-
                            Class ID

                            Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                            Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                          maxLength: 20
                        primary_teacher_id:
                          type: integer
                          description: Teacher ID
                        primary_teacher_name:
                          type: string
                          description: Teacher
                          readOnly: true
                        campus_id:
                          type: integer
                          description: Campus ID
                        campus_description:
                          type: string
                          description: Description
                          maxLength: 50
                        school_level:
                          type: integer
                          description: School Level
                        school_year:
                          type: integer
                          description: School Year
                        grading_period:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Grading Period
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 20
                          required:
                            - id
                            - description
                            - abbreviation
                        day:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Day
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 8
                          required:
                            - id
                            - description
                            - abbreviation
                        block_group:
                          type: integer
                          description: Block Group
                        block:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Block
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 6
                          required:
                            - id
                            - description
                            - abbreviation
                        room:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: |-
                                Room (Class Sched)

                                Can be used as an override for the class &quot;Room&quot; if the class meets in different rooms depending on the day.
                            description:
                              type: string
                              description: Description
                              maxLength: 100
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 8
                          required:
                            - id
                            - description
                            - abbreviation
                        start_time:
                          type: string
                          format: date-time
                          description: Start Time
                        end_time:
                          type: string
                          format: date-time
                          description: End Time
                        override_start_time:
                          type: string
                          format: date-time
                          description: |-
                            Start Time (Override)

                            An override start time may be entered for classes that are scheduled without Blocks; or an override start time may be entered in order to specify a deviation from the Block&#39;s scheduled time
                        override_end_time:
                          type: string
                          format: date-time
                          description: |-
                            End Time (Override)

                            An override end time may be entered for classes that are scheduled without Blocks; or an override end time may be entered in order to specify a deviation from the Block&#39;s scheduled time
                      required:
                        - id
                        - internal_class_id
                        - class_id
                        - primary_teacher_id
                        - primary_teacher_name
                        - campus_id
                        - campus_description
                        - school_level
                        - school_year
                        - grading_period
                        - day
                        - block_group
                        - block
                        - room
                        - start_time
                        - end_time
                        - override_start_time
                        - override_end_time
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - school_level
                              - school_year
                              - grading_period.id
                              - day.id
                              - block_group
                              - block.id
                              - room.id
                              - grading_period_id
                              - day_id
                              - block_id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.class_schedules:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  /academics/classes:
    get:
      tags:
        - 'Academics: Classes'
      summary: 'List Academics: Classes'
      operationId: list_academics_classes
      parameters:
        - name: id
          in: query
          description: Internal Class ID
          required: false
          schema:
            type: integer
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: campus_id
          in: query
          description: Campus ID
          required: false
          schema:
            type: integer
        - name: school_level
          in: query
          description: School Level
          required: false
          schema:
            type: integer
        - name: course_type
          in: query
          description: Course Type
          required: false
          schema:
            type: integer
        - name: internal_course_id
          in: query
          description: Internal Course ID
          required: false
          schema:
            type: integer
        - name: primary_teacher_id
          in: query
          description: Teacher ID
          required: false
          schema:
            type: integer
        - name: room_id
          in: query
          description: Room ID
          required: false
          schema:
            type: integer
        - name: internal_group_id
          in: query
          description: System Group ID
          required: false
          schema:
            type: integer
        - name: parent_portal_visibility
          in: query
          description: |-
            Parent Portal Visibility

            Indicates whether this class will display on the Parent Portal
          required: false
          schema:
            type: integer
        - name: parent_portal_assignment_display
          in: query
          description: |-
            Parent Portal Assignment Display

            Indicates whether assigments and assignment grades display on the Parent Portal
          required: false
          schema:
            type: integer
        - name: student_portal_visibility
          in: query
          description: |-
            Student Portal Visibility

            Indicates whether this class will display on the Student Portal
          required: false
          schema:
            type: integer
        - name: student_portal_assignment_display
          in: query
          description: |-
            Student Portal Assignment Display

            Indicates whether assigments and assignment grades display on the Student Portal
          required: false
          schema:
            type: integer
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        class_id:
                          type: string
                          description: |-
                            Class ID

                            Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                            Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                          maxLength: 20
                        description:
                          type: string
                          description: Description
                          maxLength: 80
                        status:
                          type: integer
                          description: |-
                            Status

                            Status of the class (active, future, etc.)
                        school_year:
                          type: integer
                          description: School Year
                        campus_id:
                          type: integer
                          description: Campus ID
                        campus_description:
                          type: string
                          description: Description
                          maxLength: 50
                        begin_date:
                          type: string
                          format: date
                          description: Begin Date
                        end_date:
                          type: string
                          format: date
                          description: End Date
                        primary_grade_level_id:
                          type: integer
                          description: Primary Grade Level ID
                        school_level:
                          type: integer
                          description: School Level
                        course_type:
                          type: integer
                          description: Course Type
                        internal_course_id:
                          type: integer
                          description: Course ID
                        course:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Internal Course ID
                              readOnly: true
                            course_id:
                              type: string
                              description: Course ID
                              maxLength: 15
                            course_name:
                              type: string
                              description: Course Name
                              maxLength: 100
                          required:
                            - id
                            - course_id
                            - course_name
                        primary_teacher_id:
                          type: integer
                          description: Teacher ID
                        primary_teacher_name:
                          type: string
                          description: Teacher
                          readOnly: true
                        room_id:
                          type: integer
                          description: Room ID
                        virtual_meeting_url:
                          type: string
                          description: |-
                            Virtual Meeting URL

                            To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                          maxLength: 2000
                        subject_id:
                          type: integer
                          description: Subject
                        subject_description:
                          type: string
                          description: Description
                          maxLength: 50
                        department_id:
                          type: integer
                          description: ID
                          readOnly: true
                        department_description:
                          type: string
                          description: Description
                          maxLength: 100
                        internal_group_id:
                          type: integer
                          description: System Group ID
                        term_credit_hours:
                          type: number
                          description: |-
                            Term Credit Hours

                            The number of credit hours awarded per term.  Used to calculate GPA as well as determine credits earned values.
                        total_credits:
                          type: number
                          description: Total Credits
                          readOnly: true
                        parent_portal_visibility:
                          type: integer
                          description: |-
                            Parent Portal Visibility

                            Indicates whether this class will display on the Parent Portal
                        parent_portal_assignment_display:
                          type: integer
                          description: |-
                            Parent Portal Assignment Display

                            Indicates whether assigments and assignment grades display on the Parent Portal
                        student_portal_visibility:
                          type: integer
                          description: |-
                            Student Portal Visibility

                            Indicates whether this class will display on the Student Portal
                        student_portal_assignment_display:
                          type: integer
                          description: |-
                            Student Portal Assignment Display

                            Indicates whether assigments and assignment grades display on the Student Portal
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - class_id
                        - description
                        - status
                        - school_year
                        - campus_id
                        - campus_description
                        - begin_date
                        - end_date
                        - primary_grade_level_id
                        - school_level
                        - course_type
                        - internal_course_id
                        - course
                        - primary_teacher_id
                        - primary_teacher_name
                        - room_id
                        - virtual_meeting_url
                        - subject_id
                        - subject_description
                        - department_id
                        - department_description
                        - internal_group_id
                        - term_credit_hours
                        - total_credits
                        - parent_portal_visibility
                        - parent_portal_assignment_display
                        - student_portal_visibility
                        - student_portal_assignment_display
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                              - school_year
                              - school_level
                              - course_type
                              - subject_id
                              - parent_portal_visibility
                              - parent_portal_assignment_display
                              - student_portal_visibility
                              - student_portal_assignment_display
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.classes:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    post:
      tags:
        - 'Academics: Classes'
      summary: 'Create Academics: Classes'
      operationId: create_academics_classes
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    class_id:
                      type: string
                      description: |-
                        Class ID

                        Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                        Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                      maxLength: 20
                    description:
                      type: string
                      description: Description
                      maxLength: 80
                    status:
                      type: integer
                      description: |-
                        Status

                        Status of the class (active, future, etc.)
                    school_year:
                      type: integer
                      description: School Year
                    begin_date:
                      type: string
                      format: date
                      description: Begin Date
                    end_date:
                      type: string
                      format: date
                      description: End Date
                    primary_grade_level_id:
                      type: integer
                      description: Primary Grade Level ID
                    school_level:
                      type: integer
                      description: School Level
                    internal_course_id:
                      type: integer
                      description: Course ID
                    primary_teacher_id:
                      type: integer
                      description: Teacher ID
                    room_id:
                      type: integer
                      description: Room ID
                    virtual_meeting_url:
                      type: string
                      description: |-
                        Virtual Meeting URL

                        To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                      maxLength: 2000
                    subject_id:
                      type: integer
                      description: Subject
                    department_id:
                      type: integer
                      description: ID
                      readOnly: true
                    internal_group_id:
                      type: integer
                      description: System Group ID
                    parent_portal_visibility:
                      type: integer
                      description: |-
                        Parent Portal Visibility

                        Indicates whether this class will display on the Parent Portal
                    parent_portal_assignment_display:
                      type: integer
                      description: |-
                        Parent Portal Assignment Display

                        Indicates whether assigments and assignment grades display on the Parent Portal
                    student_portal_visibility:
                      type: integer
                      description: |-
                        Student Portal Visibility

                        Indicates whether this class will display on the Student Portal
                    student_portal_assignment_display:
                      type: integer
                      description: |-
                        Student Portal Assignment Display

                        Indicates whether assigments and assignment grades display on the Student Portal
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
                  required:
                    - class_id
                    - description
                    - internal_course_id
                    - subject_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.classes:create'
  '/academics/classes/{id}':
    get:
      tags:
        - 'Academics: Classes'
      summary: 'Read Academics: Classes'
      operationId: read_academics_classes
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      class_id:
                        type: string
                        description: |-
                          Class ID

                          Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                          Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                        maxLength: 20
                      description:
                        type: string
                        description: Description
                        maxLength: 80
                      status:
                        type: integer
                        description: |-
                          Status

                          Status of the class (active, future, etc.)
                      school_year:
                        type: integer
                        description: School Year
                      begin_date:
                        type: string
                        format: date
                        description: Begin Date
                      end_date:
                        type: string
                        format: date
                        description: End Date
                      primary_grade_level_id:
                        type: integer
                        description: Primary Grade Level ID
                      school_level:
                        type: integer
                        description: School Level
                      internal_course_id:
                        type: integer
                        description: Course ID
                      primary_teacher_id:
                        type: integer
                        description: Teacher ID
                      room_id:
                        type: integer
                        description: Room ID
                      virtual_meeting_url:
                        type: string
                        description: |-
                          Virtual Meeting URL

                          To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                        maxLength: 2000
                      subject_id:
                        type: integer
                        description: Subject
                      department_id:
                        type: integer
                        description: ID
                        readOnly: true
                      internal_group_id:
                        type: integer
                        description: System Group ID
                      parent_portal_visibility:
                        type: integer
                        description: |-
                          Parent Portal Visibility

                          Indicates whether this class will display on the Parent Portal
                      parent_portal_assignment_display:
                        type: integer
                        description: |-
                          Parent Portal Assignment Display

                          Indicates whether assigments and assignment grades display on the Parent Portal
                      student_portal_visibility:
                        type: integer
                        description: |-
                          Student Portal Visibility

                          Indicates whether this class will display on the Student Portal
                      student_portal_assignment_display:
                        type: integer
                        description: |-
                          Student Portal Assignment Display

                          Indicates whether assigments and assignment grades display on the Student Portal
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - class_id
                      - description
                      - status
                      - school_year
                      - begin_date
                      - end_date
                      - primary_grade_level_id
                      - school_level
                      - internal_course_id
                      - primary_teacher_id
                      - room_id
                      - virtual_meeting_url
                      - subject_id
                      - department_id
                      - internal_group_id
                      - parent_portal_visibility
                      - parent_portal_assignment_display
                      - student_portal_visibility
                      - student_portal_assignment_display
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                              - school_year
                              - school_level
                              - subject_id
                              - parent_portal_visibility
                              - parent_portal_assignment_display
                              - student_portal_visibility
                              - student_portal_assignment_display
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.classes:read'
    parameters:
      - name: id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Academics: Classes'
      summary: 'Update Academics: Classes'
      operationId: update_academics_classes
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    class_id:
                      type: string
                      description: |-
                        Class ID

                        Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                        Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                      maxLength: 20
                    description:
                      type: string
                      description: Description
                      maxLength: 80
                    status:
                      type: integer
                      description: |-
                        Status

                        Status of the class (active, future, etc.)
                    school_year:
                      type: integer
                      description: School Year
                    begin_date:
                      type: string
                      format: date
                      description: Begin Date
                    end_date:
                      type: string
                      format: date
                      description: End Date
                    primary_grade_level_id:
                      type: integer
                      description: Primary Grade Level ID
                    school_level:
                      type: integer
                      description: School Level
                    internal_course_id:
                      type: integer
                      description: Course ID
                    primary_teacher_id:
                      type: integer
                      description: Teacher ID
                    room_id:
                      type: integer
                      description: Room ID
                    virtual_meeting_url:
                      type: string
                      description: |-
                        Virtual Meeting URL

                        To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                      maxLength: 2000
                    subject_id:
                      type: integer
                      description: Subject
                    department_id:
                      type: integer
                      description: ID
                      readOnly: true
                    internal_group_id:
                      type: integer
                      description: System Group ID
                    parent_portal_visibility:
                      type: integer
                      description: |-
                        Parent Portal Visibility

                        Indicates whether this class will display on the Parent Portal
                    parent_portal_assignment_display:
                      type: integer
                      description: |-
                        Parent Portal Assignment Display

                        Indicates whether assigments and assignment grades display on the Parent Portal
                    student_portal_visibility:
                      type: integer
                      description: |-
                        Student Portal Visibility

                        Indicates whether this class will display on the Student Portal
                    student_portal_assignment_display:
                      type: integer
                      description: |-
                        Student Portal Assignment Display

                        Indicates whether assigments and assignment grades display on the Student Portal
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.classes:update'
  /academics/permissions:
    get:
      tags:
        - 'Academics: Classes - Permissions'
      summary: 'List Academics: Classes - Permissions'
      operationId: list_academics_classes_permissions
      parameters:
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: school_level
          in: query
          description: School Level
          required: false
          schema:
            type: integer
        - name: course_id
          in: query
          description: Internal Course ID
          required: false
          schema:
            type: integer
        - name: course_type
          in: query
          description: Course Type
          required: false
          schema:
            type: integer
        - name: class_id
          in: query
          description: Internal Class ID
          required: false
          schema:
            type: integer
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: course_type_not
          in: query
          description: Course Type
          required: false
          schema:
            type: integer
        - name: last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Class Permission ID
                          readOnly: true
                        school_year:
                          type: integer
                          description: School Year
                        school_level:
                          type: integer
                          description: School Level
                        course:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Internal Course ID
                              readOnly: true
                            description:
                              type: string
                              description: Course Name
                              maxLength: 100
                            course_type:
                              type: integer
                              description: Course Type
                          required:
                            - id
                            - description
                            - course_type
                        class:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Internal Class ID
                              readOnly: true
                            description:
                              type: string
                              description: |-
                                Class Name

                                The Class ID and the Class Description
                              readOnly: true
                          required:
                            - id
                            - description
                          readOnly: true
                        person:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Person ID
                              readOnly: true
                            name:
                              type: string
                              description: |-
                                Full Name

                                The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                              readOnly: true
                          required:
                            - id
                            - name
                          readOnly: true
                        role:
                          type: integer
                          description: Role
                        title:
                          type: string
                          description: Title
                          maxLength: 255
                        update_grades:
                          type: boolean
                          description: Update Grades
                        view_all_student_grades:
                          type: boolean
                          description: View All Student Grades
                        view_attendance:
                          type: boolean
                          description: |-
                            View Attendance

                            Determines if the teacher can view and take attendance for the students in this class
                        update_attendance:
                          type: boolean
                          description: |-
                            Track Attendance

                            Determines whether attendance records are created for this teacher/coach/etc.
                        view_behavior:
                          type: boolean
                          description: View Behavior
                        view_grades:
                          type: boolean
                          description: View Grades
                        view_progress_report:
                          type: boolean
                          description: View Progress Report
                        view_report_card:
                          type: boolean
                          description: View Report Card
                        show_in_teacher_portal:
                          type: boolean
                          description: Show In Teacher Portal?
                          readOnly: true
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - school_year
                        - school_level
                        - course
                        - class
                        - person
                        - role
                        - title
                        - update_grades
                        - view_all_student_grades
                        - view_attendance
                        - update_attendance
                        - view_behavior
                        - view_grades
                        - view_progress_report
                        - view_report_card
                        - show_in_teacher_portal
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - school_year
                              - school_level
                              - course.course_type
                              - role
                              - course_type_not
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.permissions:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/academics/permissions/{id}':
    get:
      tags:
        - 'Academics: Classes - Permissions'
      summary: 'Read Academics: Classes - Permissions'
      operationId: read_academics_classes_permissions
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Class Permission ID
                        readOnly: true
                      school_year:
                        type: integer
                        description: School Year
                      school_level:
                        type: integer
                        description: School Level
                      course:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Internal Course ID
                            readOnly: true
                          description:
                            type: string
                            description: Course Name
                            maxLength: 100
                          course_type:
                            type: integer
                            description: Course Type
                        required:
                          - id
                          - description
                          - course_type
                      class:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Internal Class ID
                            readOnly: true
                          description:
                            type: string
                            description: |-
                              Class Name

                              The Class ID and the Class Description
                            readOnly: true
                        required:
                          - id
                          - description
                        readOnly: true
                      person:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Person ID
                            readOnly: true
                          name:
                            type: string
                            description: |-
                              Full Name

                              The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                            readOnly: true
                        required:
                          - id
                          - name
                        readOnly: true
                      role:
                        type: integer
                        description: Role
                      title:
                        type: string
                        description: Title
                        maxLength: 255
                      update_grades:
                        type: boolean
                        description: Update Grades
                      view_all_student_grades:
                        type: boolean
                        description: View All Student Grades
                      view_attendance:
                        type: boolean
                        description: |-
                          View Attendance

                          Determines if the teacher can view and take attendance for the students in this class
                      update_attendance:
                        type: boolean
                        description: |-
                          Track Attendance

                          Determines whether attendance records are created for this teacher/coach/etc.
                      view_behavior:
                        type: boolean
                        description: View Behavior
                      view_grades:
                        type: boolean
                        description: View Grades
                      view_progress_report:
                        type: boolean
                        description: View Progress Report
                      view_report_card:
                        type: boolean
                        description: View Report Card
                      show_in_teacher_portal:
                        type: boolean
                        description: Show In Teacher Portal?
                        readOnly: true
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - school_year
                      - school_level
                      - course
                      - class
                      - person
                      - role
                      - title
                      - update_grades
                      - view_all_student_grades
                      - view_attendance
                      - update_attendance
                      - view_behavior
                      - view_grades
                      - view_progress_report
                      - view_report_card
                      - show_in_teacher_portal
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - school_year
                              - school_level
                              - course.course_type
                              - role
                              - course_type_not
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.permissions:read'
    parameters:
      - name: id
        in: path
        description: Class Permission ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /academics/config/block_times:
    get:
      tags:
        - 'Academics: Configuration - Block Meeting Times'
      summary: 'List Academics: Configuration - Block Meeting Times'
      operationId: list_academics_configuration_block_meeting_times
      parameters:
        - name: block_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: block_schedule_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: rotation_day_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: rotation_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Period Time ID
                          readOnly: true
                        block:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 6
                          required:
                            - id
                            - description
                            - abbreviation
                        block_schedule:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                          required:
                            - id
                            - description
                        rotation_day:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 8
                          required:
                            - id
                            - description
                            - abbreviation
                        rotation:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                          required:
                            - id
                            - description
                        start_time:
                          type: string
                          description: Start Time
                          readOnly: true
                        end_time:
                          type: string
                          description: End Time
                          readOnly: true
                      required:
                        - id
                        - block
                        - block_schedule
                        - rotation_day
                        - rotation
                        - start_time
                        - end_time
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.config.block_times:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/academics/config/block_times/{id}':
    get:
      tags:
        - 'Academics: Configuration - Block Meeting Times'
      summary: 'Read Academics: Configuration - Block Meeting Times'
      operationId: read_academics_configuration_block_meeting_times
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Period Time ID
                        readOnly: true
                      block:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 6
                        required:
                          - id
                          - description
                          - abbreviation
                      block_schedule:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                        required:
                          - id
                          - description
                      rotation_day:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 8
                        required:
                          - id
                          - description
                          - abbreviation
                      rotation:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                        required:
                          - id
                          - description
                      start_time:
                        type: string
                        description: Start Time
                        readOnly: true
                      end_time:
                        type: string
                        description: End Time
                        readOnly: true
                    required:
                      - id
                      - block
                      - block_schedule
                      - rotation_day
                      - rotation
                      - start_time
                      - end_time
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.config.block_times:read'
    parameters:
      - name: id
        in: path
        description: Period Time ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /academics/config/block_schedules:
    get:
      tags:
        - 'Academics: Configuration - Block Schedules'
      summary: 'List Academics: Configuration - Block Schedules'
      operationId: list_academics_configuration_block_schedules
      parameters:
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 50
                        sort_key:
                          type: integer
                          description: Sort Key
                      required:
                        - id
                        - description
                        - sort_key
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.config.block_schedules:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/academics/config/block_schedules/{id}':
    get:
      tags:
        - 'Academics: Configuration - Block Schedules'
      summary: 'Read Academics: Configuration - Block Schedules'
      operationId: read_academics_configuration_block_schedules
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ID
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 50
                      sort_key:
                        type: integer
                        description: Sort Key
                    required:
                      - id
                      - description
                      - sort_key
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.config.block_schedules:read'
    parameters:
      - name: id
        in: path
        description: ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /academics/config/blocks:
    get:
      tags:
        - 'Academics: Configuration - Blocks/Periods'
      summary: 'List Academics: Configuration - Blocks/Periods'
      operationId: list_academics_configuration_blocks_periods
      parameters:
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 50
                        abbreviation:
                          type: string
                          description: Abbreviation
                          maxLength: 6
                        universal:
                          type: boolean
                          description: Universal
                        block_index:
                          type: integer
                          description: Block Index
                        sort_key:
                          type: integer
                          description: Sort Key
                      required:
                        - id
                        - description
                        - abbreviation
                        - universal
                        - block_index
                        - sort_key
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.config.blocks:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/academics/config/blocks/{id}':
    get:
      tags:
        - 'Academics: Configuration - Blocks/Periods'
      summary: 'Read Academics: Configuration - Blocks/Periods'
      operationId: read_academics_configuration_blocks_periods
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ID
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 50
                      abbreviation:
                        type: string
                        description: Abbreviation
                        maxLength: 6
                      universal:
                        type: boolean
                        description: Universal
                      block_index:
                        type: integer
                        description: Block Index
                      sort_key:
                        type: integer
                        description: Sort Key
                    required:
                      - id
                      - description
                      - abbreviation
                      - universal
                      - block_index
                      - sort_key
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.config.blocks:read'
    parameters:
      - name: id
        in: path
        description: ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /academics/courses:
    post:
      tags:
        - 'Academics: Courses'
      summary: 'Create Academics: Courses'
      operationId: create_academics_courses
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: string
                      description: Internal Course ID
                      readOnly: true
                    course_id:
                      type: string
                      description: Course ID
                      maxLength: 15
                    name:
                      type: string
                      description: Course Name
                      maxLength: 100
                    subject_id:
                      type: string
                      description: Subject
                    catalog_title:
                      type: string
                      description: Catalog Title
                      maxLength: 100
                    catalog_description:
                      type: string
                      description: Catalog Description
                      maxLength: 8000
                    course_type:
                      type: integer
                      description: Course Type
                  required:
                    - name
                    - subject_id
                    - course_type
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.courses:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Academics: Courses'
      summary: 'List Academics: Courses'
      operationId: list_academics_courses
      parameters:
        - name: subject_id
          in: query
          description: Subject ID
          required: false
          schema:
            type: integer
        - name: classification
          in: query
          description: Classification
          required: false
          schema:
            type: integer
        - name: course_type
          in: query
          description: Academic Course Type
          required: false
          schema:
            type: integer
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: classification_not
          in: query
          description: Classification
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Internal Course ID
                          readOnly: true
                        course_id:
                          type: string
                          description: Course ID
                          maxLength: 15
                        name:
                          type: string
                          description: Course Name
                          maxLength: 100
                        subject_id:
                          type: integer
                          description: Subject ID
                        subject_description:
                          type: string
                          description: Description
                          maxLength: 50
                        department_id:
                          type: integer
                          description: ID
                          readOnly: true
                        department_description:
                          type: string
                          description: Description
                          maxLength: 100
                        catalog_title:
                          type: string
                          description: Catalog Title
                          maxLength: 100
                        catalog_description:
                          type: string
                          description: Catalog Description
                          maxLength: 8000
                        classification:
                          type: integer
                          description: Classification
                        course_type:
                          type: integer
                          description: Academic Course Type
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - course_id
                        - name
                        - subject_id
                        - subject_description
                        - department_id
                        - department_description
                        - catalog_title
                        - catalog_description
                        - classification
                        - course_type
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - classification
                              - course_type
                              - classification_not
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.courses:list'
  '/academics/courses/{id}':
    get:
      tags:
        - 'Academics: Courses'
      summary: 'Read Academics: Courses'
      operationId: read_academics_courses
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Internal Course ID
                        readOnly: true
                      course_id:
                        type: string
                        description: Course ID
                        maxLength: 15
                      name:
                        type: string
                        description: Course Name
                        maxLength: 100
                      subject_id:
                        type: integer
                        description: Subject ID
                      subject_description:
                        type: string
                        description: Description
                        maxLength: 50
                      department_id:
                        type: integer
                        description: ID
                        readOnly: true
                      department_description:
                        type: string
                        description: Description
                        maxLength: 100
                      catalog_title:
                        type: string
                        description: Catalog Title
                        maxLength: 100
                      catalog_description:
                        type: string
                        description: Catalog Description
                        maxLength: 8000
                      classification:
                        type: integer
                        description: Classification
                      course_type:
                        type: integer
                        description: Academic Course Type
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - course_id
                      - name
                      - subject_id
                      - subject_description
                      - department_id
                      - department_description
                      - catalog_title
                      - catalog_description
                      - classification
                      - course_type
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - classification
                              - course_type
                              - classification_not
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.courses:read'
    parameters:
      - name: id
        in: path
        description: Internal Course ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Academics: Courses'
      summary: 'Update Academics: Courses'
      operationId: update_academics_courses
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Internal Course ID
                      readOnly: true
                    course_id:
                      type: string
                      description: Course ID
                      maxLength: 15
                    name:
                      type: string
                      description: Course Name
                      maxLength: 100
                    subject_id:
                      type: integer
                      description: Subject ID
                    subject_description:
                      type: string
                      description: Description
                      maxLength: 50
                    department_id:
                      type: integer
                      description: ID
                      readOnly: true
                    department_description:
                      type: string
                      description: Description
                      maxLength: 100
                    catalog_title:
                      type: string
                      description: Catalog Title
                      maxLength: 100
                    catalog_description:
                      type: string
                      description: Catalog Description
                      maxLength: 8000
                    classification:
                      type: integer
                      description: Classification
                    course_type:
                      type: integer
                      description: Academic Course Type
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.courses:update'
  /academics/departments:
    get:
      tags:
        - 'Academics: Departments'
      summary: 'List Academics: Departments'
      operationId: list_academics_departments
      parameters:
        - name: last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 100
                        abbreviation:
                          type: string
                          description: Abbreviation
                          maxLength: 10
                        sort_key:
                          type: integer
                          description: Sort Key
                        last_modified_date:
                          type: string
                          format: date
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - description
                        - abbreviation
                        - sort_key
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.departments:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/academics/departments/{id}':
    get:
      tags:
        - 'Academics: Departments'
      summary: 'Read Academics: Departments'
      operationId: read_academics_departments
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ID
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 100
                      abbreviation:
                        type: string
                        description: Abbreviation
                        maxLength: 10
                      sort_key:
                        type: integer
                        description: Sort Key
                      last_modified_date:
                        type: string
                        format: date
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - description
                      - abbreviation
                      - sort_key
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.departments:read'
    parameters:
      - name: id
        in: path
        description: ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /academics/enrollments:
    get:
      tags:
        - 'Academics: Enrollments'
      summary: 'List Academics: Enrollments'
      operationId: list_academics_enrollments
      parameters:
        - name: internal_class_id
          in: query
          description: Internal Class ID
          required: false
          schema:
            type: integer
        - name: class_status
          in: query
          description: |-
            Status

            Status of the class (active, future, etc.)
          required: false
          schema:
            type: integer
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: exclude_from_transcript
          in: query
          description: |-
            Exclude From Transcript

            Excludes posted grades for this enrollment from being posted to the transcript.  Selecting this option does NOT impact this student&#39;s GPA.
          required: false
          schema:
            type: boolean
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: course_type
          in: query
          description: Academic Course Type
          required: false
          schema:
            type: integer
        - name: subject
          in: query
          description: Subject
          required: false
          schema:
            type: integer
        - name: currently_enrolled
          in: query
          description: |-
            Currently Enrolled

            A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



            For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
          required: false
          schema:
            type: boolean
        - name: on_or_before_late_date_enrolled
          in: query
          description: |-
            Late Date Enrolled

            The date the student enrolled in the class
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_late_date_enrolled
          in: query
          description: |-
            Late Date Enrolled

            The date the student enrolled in the class
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_date_withdrawn
          in: query
          description: |-
            Date Withdrawn

            The date the student withdrew from the class
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_date_withdrawn
          in: query
          description: |-
            Date Withdrawn

            The date the student withdrew from the class
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Enrollment ID
                          readOnly: true
                        internal_class_id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        class_description:
                          type: string
                          description: Description
                          maxLength: 80
                        class_status:
                          type: integer
                          description: |-
                            Status

                            Status of the class (active, future, etc.)
                        primary_teacher:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Teacher ID
                              readOnly: true
                            name_prefix:
                              type: string
                              description: Description
                              readOnly: true
                            first_name:
                              type: string
                              description: First Name
                              maxLength: 50
                            middle_name:
                              type: string
                              description: Middle Name
                              maxLength: 50
                            last_name:
                              type: string
                              description: Last Name
                              maxLength: 50
                            name_suffix:
                              type: string
                              description: Description
                              readOnly: true
                            preferred_name:
                              type: string
                              description: Preferred Name
                              maxLength: 50
                          required:
                            - id
                            - name_prefix
                            - first_name
                            - middle_name
                            - last_name
                            - name_suffix
                            - preferred_name
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        person_name:
                          type: string
                          description: |-
                            Full Name

                            The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                          readOnly: true
                        grade_level_id:
                          type: integer
                          description: ID
                          readOnly: true
                        currently_enrolled:
                          type: boolean
                          description: |-
                            Currently Enrolled

                            A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                            For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                        late_date_enrolled:
                          type: string
                          format: date
                          description: |-
                            Late Date Enrolled

                            The date the student enrolled in the class
                        date_withdrawn:
                          type: string
                          format: date
                          description: |-
                            Date Withdrawn

                            The date the student withdrew from the class
                        level:
                          type: integer
                          description: |-
                            Enrollment Level

                            The enrollment level is used when some students are taking the class for a different level of credit than other students. If all students are taking the course for the same level of credit, setting the enrollment level is NOT necessary. If the student&#39;s enrollment level should influence GPA, please review &quot;override grade conversion scale&quot; on the student&#39;s class enrollment record.
                        exclude_from_transcript:
                          type: boolean
                          description: |-
                            Exclude From Transcript

                            Excludes posted grades for this enrollment from being posted to the transcript.  Selecting this option does NOT impact this student&#39;s GPA.
                        notes:
                          type: string
                          description: Notes
                          maxLength: 1000
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - internal_class_id
                        - class_description
                        - class_status
                        - primary_teacher
                        - person_id
                        - person_name
                        - grade_level_id
                        - currently_enrolled
                        - late_date_enrolled
                        - date_withdrawn
                        - level
                        - exclude_from_transcript
                        - notes
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - class_status
                              - level
                              - school_year
                              - course_type
                              - subject
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.enrollments:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    post:
      tags:
        - 'Academics: Enrollments'
      summary: 'Create Academics: Enrollments'
      operationId: create_academics_enrollments
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Enrollment ID
                      readOnly: true
                    internal_class_id:
                      type: integer
                      description: Internal Class ID
                    person_id:
                      type: integer
                      description: Person ID
                    grade_level_id:
                      type: integer
                      description: ID
                      readOnly: true
                    currently_enrolled:
                      type: boolean
                      description: |-
                        Currently Enrolled

                        A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                        For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                    late_date_enrolled:
                      type: string
                      format: date
                      description: |-
                        Late Date Enrolled

                        The date the student enrolled in the class
                    date_withdrawn:
                      type: string
                      format: date
                      description: |-
                        Date Withdrawn

                        The date the student withdrew from the class
                    level:
                      type: integer
                      description: |-
                        Enrollment Level

                        The enrollment level is used when some students are taking the class for a different level of credit than other students. If all students are taking the course for the same level of credit, setting the enrollment level is NOT necessary. If the student&#39;s enrollment level should influence GPA, please review &quot;override grade conversion scale&quot; on the student&#39;s class enrollment record.
                    exclude_from_transcript:
                      type: boolean
                      description: |-
                        Exclude From Transcript

                        Excludes posted grades for this enrollment from being posted to the transcript.  Selecting this option does NOT impact this student&#39;s GPA.
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
                  required:
                    - internal_class_id
                    - person_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.enrollments:create'
  '/academics/enrollments/{id}':
    get:
      tags:
        - 'Academics: Enrollments'
      summary: 'Read Academics: Enrollments'
      operationId: read_academics_enrollments
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Enrollment ID
                        readOnly: true
                      internal_class_id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      class_description:
                        type: string
                        description: Description
                        maxLength: 80
                      class_status:
                        type: integer
                        description: |-
                          Status

                          Status of the class (active, future, etc.)
                      primary_teacher:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Teacher ID
                            readOnly: true
                          name_prefix:
                            type: string
                            description: Description
                            readOnly: true
                          first_name:
                            type: string
                            description: First Name
                            maxLength: 50
                          middle_name:
                            type: string
                            description: Middle Name
                            maxLength: 50
                          last_name:
                            type: string
                            description: Last Name
                            maxLength: 50
                          name_suffix:
                            type: string
                            description: Description
                            readOnly: true
                          preferred_name:
                            type: string
                            description: Preferred Name
                            maxLength: 50
                        required:
                          - id
                          - name_prefix
                          - first_name
                          - middle_name
                          - last_name
                          - name_suffix
                          - preferred_name
                      person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      person_name:
                        type: string
                        description: |-
                          Full Name

                          The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                        readOnly: true
                      grade_level_id:
                        type: integer
                        description: ID
                        readOnly: true
                      currently_enrolled:
                        type: boolean
                        description: |-
                          Currently Enrolled

                          A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                          For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                      late_date_enrolled:
                        type: string
                        format: date
                        description: |-
                          Late Date Enrolled

                          The date the student enrolled in the class
                      date_withdrawn:
                        type: string
                        format: date
                        description: |-
                          Date Withdrawn

                          The date the student withdrew from the class
                      level:
                        type: integer
                        description: |-
                          Enrollment Level

                          The enrollment level is used when some students are taking the class for a different level of credit than other students. If all students are taking the course for the same level of credit, setting the enrollment level is NOT necessary. If the student&#39;s enrollment level should influence GPA, please review &quot;override grade conversion scale&quot; on the student&#39;s class enrollment record.
                      exclude_from_transcript:
                        type: boolean
                        description: |-
                          Exclude From Transcript

                          Excludes posted grades for this enrollment from being posted to the transcript.  Selecting this option does NOT impact this student&#39;s GPA.
                      notes:
                        type: string
                        description: Notes
                        maxLength: 1000
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - internal_class_id
                      - class_description
                      - class_status
                      - primary_teacher
                      - person_id
                      - person_name
                      - grade_level_id
                      - currently_enrolled
                      - late_date_enrolled
                      - date_withdrawn
                      - level
                      - exclude_from_transcript
                      - notes
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - class_status
                              - level
                              - school_year
                              - course_type
                              - subject
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.enrollments:read'
    parameters:
      - name: id
        in: path
        description: Enrollment ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Academics: Enrollments'
      summary: 'Update Academics: Enrollments'
      operationId: update_academics_enrollments
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Enrollment ID
                      readOnly: true
                    internal_class_id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    class_description:
                      type: string
                      description: Description
                      maxLength: 80
                    class_status:
                      type: integer
                      description: |-
                        Status

                        Status of the class (active, future, etc.)
                    primary_teacher:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Teacher ID
                          readOnly: true
                        name_prefix:
                          type: string
                          description: Description
                          readOnly: true
                        first_name:
                          type: string
                          description: First Name
                          maxLength: 50
                        middle_name:
                          type: string
                          description: Middle Name
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name
                          maxLength: 50
                        name_suffix:
                          type: string
                          description: Description
                          readOnly: true
                        preferred_name:
                          type: string
                          description: Preferred Name
                          maxLength: 50
                      required:
                        - id
                        - name_prefix
                        - first_name
                        - middle_name
                        - last_name
                        - name_suffix
                        - preferred_name
                    person_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    person_name:
                      type: string
                      description: |-
                        Full Name

                        The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                      readOnly: true
                    grade_level_id:
                      type: integer
                      description: ID
                      readOnly: true
                    currently_enrolled:
                      type: boolean
                      description: |-
                        Currently Enrolled

                        A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                        For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                    late_date_enrolled:
                      type: string
                      format: date
                      description: |-
                        Late Date Enrolled

                        The date the student enrolled in the class
                    date_withdrawn:
                      type: string
                      format: date
                      description: |-
                        Date Withdrawn

                        The date the student withdrew from the class
                    level:
                      type: integer
                      description: |-
                        Enrollment Level

                        The enrollment level is used when some students are taking the class for a different level of credit than other students. If all students are taking the course for the same level of credit, setting the enrollment level is NOT necessary. If the student&#39;s enrollment level should influence GPA, please review &quot;override grade conversion scale&quot; on the student&#39;s class enrollment record.
                    exclude_from_transcript:
                      type: boolean
                      description: |-
                        Exclude From Transcript

                        Excludes posted grades for this enrollment from being posted to the transcript.  Selecting this option does NOT impact this student&#39;s GPA.
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.enrollments:update'
  /academics/config/grading_periods:
    get:
      tags:
        - 'Academics: Grading Periods'
      summary: 'List Academics: Grading Periods'
      operationId: list_academics_grading_periods
      parameters:
        - name: group_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: on_or_before_start_date
          in: query
          description: Begin Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_start_date
          in: query
          description: Begin Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_end_date
          in: query
          description: End Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_end_date
          in: query
          description: End Date
          required: false
          schema:
            type: string
            format: date-time
        - name: last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 50
                        abbreviation:
                          type: string
                          description: Abbreviation
                          maxLength: 20
                        start_date:
                          type: string
                          format: date-time
                          description: Begin Date
                        end_date:
                          type: string
                          format: date-time
                          description: End Date
                        group:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            type:
                              type: integer
                              description: Group Type
                          required:
                            - id
                            - description
                            - type
                        major:
                          type: boolean
                          description: Major
                        minor:
                          type: boolean
                          description: Minor
                        period_index:
                          type: integer
                          description: Period Index
                        school_year:
                          type: integer
                          description: School Year
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - description
                        - abbreviation
                        - start_date
                        - end_date
                        - group
                        - major
                        - minor
                        - period_index
                        - school_year
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - group.type
                              - school_year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.config.grading_periods:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/academics/config/grading_periods/{id}':
    get:
      tags:
        - 'Academics: Grading Periods'
      summary: 'Read Academics: Grading Periods'
      operationId: read_academics_grading_periods
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ID
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 50
                      abbreviation:
                        type: string
                        description: Abbreviation
                        maxLength: 20
                      start_date:
                        type: string
                        format: date-time
                        description: Begin Date
                      end_date:
                        type: string
                        format: date-time
                        description: End Date
                      group:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          type:
                            type: integer
                            description: Group Type
                        required:
                          - id
                          - description
                          - type
                      major:
                        type: boolean
                        description: Major
                      minor:
                        type: boolean
                        description: Minor
                      period_index:
                        type: integer
                        description: Period Index
                      school_year:
                        type: integer
                        description: School Year
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - description
                      - abbreviation
                      - start_date
                      - end_date
                      - group
                      - major
                      - minor
                      - period_index
                      - school_year
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - group.type
                              - school_year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.config.grading_periods:read'
    parameters:
      - name: id
        in: path
        description: ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/academics/numeric_grades/{id}':
    get:
      tags:
        - 'Academics: Numeric Grades'
      summary: 'Read Academics: Numeric Grades'
      operationId: read_academics_numeric_grades
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Grade ID
                        readOnly: true
                      enrollment_id:
                        type: integer
                        description: Enrollment ID
                        readOnly: true
                      class:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Internal Class ID
                            readOnly: true
                          description:
                            type: string
                            description: |-
                              Class Name

                              The Class ID and the Class Description
                            readOnly: true
                        required:
                          - id
                          - description
                        readOnly: true
                      grading_period:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                        required:
                          - id
                          - description
                      student:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Person ID
                            readOnly: true
                          name:
                            type: string
                            description: |-
                              Full Name

                              The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                            readOnly: true
                        required:
                          - id
                          - name
                        readOnly: true
                      assignment_posted_grade:
                        type: number
                        description: Assignment Posted Grade
                      assignment_posted_letter_grade:
                        type: string
                        description: Assignment Posted Grade (Letter)
                        readOnly: true
                      exam_grade:
                        type: number
                        description: Exam Grade
                      posted_grade:
                        type: number
                        description: |-
                          Grade: Posted

                          The official posted grade that appears on the report card
                      posted_letter_grade:
                        type: string
                        description: |-
                          Letter Grade (P)

                          The letter grade equivalent of the posted numeric grade (Grade: P)
                        readOnly: true
                      status:
                        type: integer
                        description: |-
                          Status

                          The status for this report-card record
                      comment:
                        type: string
                        description: Comments
                      locked:
                        type: boolean
                        description: |-
                          Locked

                          Indicates that the data for this record are locked, and only authorized users can make changes
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - enrollment_id
                      - class
                      - grading_period
                      - student
                      - assignment_posted_grade
                      - assignment_posted_letter_grade
                      - exam_grade
                      - posted_grade
                      - posted_letter_grade
                      - status
                      - comment
                      - locked
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.numeric_grades:read'
    parameters:
      - name: id
        in: path
        description: Grade ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Academics: Numeric Grades'
      summary: 'Update Academics: Numeric Grades'
      operationId: update_academics_numeric_grades
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Grade ID
                      readOnly: true
                    enrollment_id:
                      type: integer
                      description: Enrollment ID
                      readOnly: true
                    class:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        description:
                          type: string
                          description: |-
                            Class Name

                            The Class ID and the Class Description
                          readOnly: true
                      required:
                        - id
                        - description
                      readOnly: true
                    grading_period:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 50
                      required:
                        - id
                        - description
                    student:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        name:
                          type: string
                          description: |-
                            Full Name

                            The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                          readOnly: true
                      required:
                        - id
                        - name
                      readOnly: true
                    assignment_posted_grade:
                      type: number
                      description: Assignment Posted Grade
                    assignment_posted_letter_grade:
                      type: string
                      description: Assignment Posted Grade (Letter)
                      readOnly: true
                    exam_grade:
                      type: number
                      description: Exam Grade
                    posted_grade:
                      type: number
                      description: |-
                        Grade: Posted

                        The official posted grade that appears on the report card
                    posted_letter_grade:
                      type: string
                      description: |-
                        Letter Grade (P)

                        The letter grade equivalent of the posted numeric grade (Grade: P)
                      readOnly: true
                    status:
                      type: integer
                      description: |-
                        Status

                        The status for this report-card record
                    comment:
                      type: string
                      description: Comments
                    locked:
                      type: boolean
                      description: |-
                        Locked

                        Indicates that the data for this record are locked, and only authorized users can make changes
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.numeric_grades:update'
  /academics/numeric_grades:
    get:
      tags:
        - 'Academics: Numeric Grades'
      summary: 'List Academics: Numeric Grades'
      operationId: list_academics_numeric_grades
      parameters:
        - name: enrollment_id
          in: query
          description: Enrollment ID
          required: false
          schema:
            type: integer
        - name: class_id
          in: query
          description: Internal Class ID
          required: false
          schema:
            type: integer
        - name: grading_period_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: student_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: locked
          in: query
          description: |-
            Locked

            Indicates that the data for this record are locked, and only authorized users can make changes
          required: false
          schema:
            type: boolean
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Grade ID
                          readOnly: true
                        enrollment_id:
                          type: integer
                          description: Enrollment ID
                        class:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Internal Class ID
                              readOnly: true
                            description:
                              type: string
                              description: |-
                                Class Name

                                The Class ID and the Class Description
                              readOnly: true
                          required:
                            - id
                            - description
                          readOnly: true
                        grading_period:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                          required:
                            - id
                            - description
                        student:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Person ID
                              readOnly: true
                            name:
                              type: string
                              description: |-
                                Full Name

                                The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                              readOnly: true
                          required:
                            - id
                            - name
                          readOnly: true
                        assignment_posted_grade:
                          type: number
                          description: Assignment Posted Grade
                        assignment_posted_letter_grade:
                          type: string
                          description: Assignment Posted Grade (Letter)
                          readOnly: true
                        exam_grade:
                          type: number
                          description: Exam Grade
                        posted_grade:
                          type: number
                          description: |-
                            Grade: Posted

                            The official posted grade that appears on the report card
                        posted_letter_grade:
                          type: string
                          description: |-
                            Letter Grade (P)

                            The letter grade equivalent of the posted numeric grade (Grade: P)
                          readOnly: true
                        status:
                          type: integer
                          description: |-
                            Status

                            The status for this report-card record
                        comment:
                          type: string
                          description: Comments
                        locked:
                          type: boolean
                          description: |-
                            Locked

                            Indicates that the data for this record are locked, and only authorized users can make changes
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - enrollment_id
                        - class
                        - grading_period
                        - student
                        - assignment_posted_grade
                        - assignment_posted_letter_grade
                        - exam_grade
                        - posted_grade
                        - posted_letter_grade
                        - status
                        - comment
                        - locked
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                              - school_year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.numeric_grades:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/academics/qualitative_grades/{id}':
    get:
      tags:
        - 'Academics: Qualitative Grades'
      summary: 'Read Academics: Qualitative Grades'
      operationId: read_academics_qualitative_grades
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Grade ID
                        readOnly: true
                      enrollment_id:
                        type: integer
                        description: Enrollment ID
                      class:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Internal Class ID
                            readOnly: true
                          description:
                            type: string
                            description: |-
                              Class Name

                              The Class ID and the Class Description
                            readOnly: true
                        required:
                          - id
                          - description
                        readOnly: true
                      grading_period:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                        required:
                          - id
                          - description
                      student:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Person ID
                            readOnly: true
                          name:
                            type: string
                            description: |-
                              Full Name

                              The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                            readOnly: true
                        required:
                          - id
                          - name
                        readOnly: true
                      rubric:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Rubric ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            readOnly: true
                            maxLength: 200
                        required:
                          - id
                          - description
                        readOnly: true
                      rubric_category:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Rubric Category Description
                            readOnly: true
                            maxLength: 100
                        required:
                          - id
                          - description
                        readOnly: true
                      rubric_criteria:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Rubric Criteria ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            readOnly: true
                            maxLength: 800
                          scale:
                            type: integer
                            description: Scale
                          expected_proficiency_level:
                            type: string
                            description: Expected Proficiency Level
                            readOnly: true
                        required:
                          - id
                          - description
                          - scale
                          - expected_proficiency_level
                      proficiency_level:
                        type: string
                        description: Proficiency Level
                        maxLength: 35
                      comment:
                        type: string
                        description: Comments
                      locked:
                        type: boolean
                        description: |-
                          Locked

                          Indicates that the data for this record are locked, and only authorized users can make changes
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - enrollment_id
                      - class
                      - grading_period
                      - student
                      - rubric
                      - rubric_category
                      - rubric_criteria
                      - proficiency_level
                      - comment
                      - locked
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - rubric_criteria.scale
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.qualitative_grades:read'
    parameters:
      - name: id
        in: path
        description: Grade ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Academics: Qualitative Grades'
      summary: 'Update Academics: Qualitative Grades'
      operationId: update_academics_qualitative_grades
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Grade ID
                      readOnly: true
                    enrollment_id:
                      type: integer
                      description: Enrollment ID
                    class:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        description:
                          type: string
                          description: |-
                            Class Name

                            The Class ID and the Class Description
                          readOnly: true
                      required:
                        - id
                        - description
                      readOnly: true
                    grading_period:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 50
                      required:
                        - id
                        - description
                    student:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        name:
                          type: string
                          description: |-
                            Full Name

                            The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                          readOnly: true
                      required:
                        - id
                        - name
                      readOnly: true
                    rubric:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Rubric ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          readOnly: true
                          maxLength: 200
                      required:
                        - id
                        - description
                      readOnly: true
                    rubric_category:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Rubric Category Description
                          readOnly: true
                          maxLength: 100
                      required:
                        - id
                        - description
                      readOnly: true
                    rubric_criteria:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Rubric Criteria ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          readOnly: true
                          maxLength: 800
                        scale:
                          type: integer
                          description: Scale
                        expected_proficiency_level:
                          type: string
                          description: Expected Proficiency Level
                          readOnly: true
                      required:
                        - id
                        - description
                        - scale
                        - expected_proficiency_level
                    proficiency_level:
                      type: string
                      description: Proficiency Level
                      maxLength: 35
                    comment:
                      type: string
                      description: Comments
                    locked:
                      type: boolean
                      description: |-
                        Locked

                        Indicates that the data for this record are locked, and only authorized users can make changes
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.qualitative_grades:update'
  /academics/qualitative_grades:
    get:
      tags:
        - 'Academics: Qualitative Grades'
      summary: 'List Academics: Qualitative Grades'
      operationId: list_academics_qualitative_grades
      parameters:
        - name: enrollment_id
          in: query
          description: Enrollment ID
          required: false
          schema:
            type: integer
        - name: class_id
          in: query
          description: Internal Class ID
          required: false
          schema:
            type: integer
        - name: grading_period_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: student_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: rubric_id
          in: query
          description: Rubric ID
          required: false
          schema:
            type: integer
        - name: rubric_category_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: rubric_criteria_id
          in: query
          description: Rubric Criteria ID
          required: false
          schema:
            type: integer
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Grade ID
                          readOnly: true
                        enrollment_id:
                          type: integer
                          description: Enrollment ID
                          readOnly: true
                        class:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Internal Class ID
                              readOnly: true
                            description:
                              type: string
                              description: |-
                                Class Name

                                The Class ID and the Class Description
                              readOnly: true
                          required:
                            - id
                            - description
                          readOnly: true
                        grading_period:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                          required:
                            - id
                            - description
                        student:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Person ID
                              readOnly: true
                            name:
                              type: string
                              description: |-
                                Full Name

                                The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                              readOnly: true
                          required:
                            - id
                            - name
                          readOnly: true
                        rubric:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Rubric ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 200
                          required:
                            - id
                            - description
                        rubric_category:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Rubric Category Description
                              maxLength: 100
                          required:
                            - id
                            - description
                        rubric_criteria:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Rubric Criteria ID
                              readOnly: true
                            description:
                              type: integer
                              description: Rubric Criteria
                            scale:
                              type: integer
                              description: Scale
                            expected_proficiency_level:
                              type: string
                              description: Expected Proficiency Level
                              readOnly: true
                          required:
                            - id
                            - description
                            - scale
                            - expected_proficiency_level
                        proficiency_level:
                          type: string
                          description: Proficiency Level
                          maxLength: 35
                        comment:
                          type: string
                          description: Comments
                        locked:
                          type: boolean
                          description: |-
                            Locked

                            Indicates that the data for this record are locked, and only authorized users can make changes
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - enrollment_id
                        - class
                        - grading_period
                        - student
                        - rubric
                        - rubric_category
                        - rubric_criteria
                        - proficiency_level
                        - comment
                        - locked
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - rubric_criteria.description
                              - rubric_criteria.scale
                              - school_year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.qualitative_grades:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  /academics/rooms:
    get:
      tags:
        - 'Academics: Rooms'
      summary: 'List Academics: Rooms'
      operationId: list_academics_rooms
      parameters:
        - name: campus_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: building_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: school_level_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: resource_type
          in: query
          description: Resource Type
          required: false
          schema:
            type: integer
        - name: subject_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: include_in_scheduler
          in: query
          description: Include In Scheduler
          required: false
          schema:
            type: boolean
        - name: last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Resource ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 100
                        campus:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                          required:
                            - id
                            - description
                        building:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 100
                          required:
                            - id
                            - description
                        school_level:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                          required:
                            - id
                            - description
                        abbreviation:
                          type: string
                          description: Abbreviation
                          maxLength: 8
                        resource_type:
                          type: integer
                          description: Resource Type
                        subject:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                          required:
                            - id
                            - description
                        include_in_scheduler:
                          type: boolean
                          description: Include In Scheduler
                        capacity:
                          type: integer
                          description: |-
                            Capacity

                            The amount of reservations that can occur at the same time.
                        notes:
                          type: string
                          description: Notes
                          maxLength: 1000
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - description
                        - campus
                        - building
                        - school_level
                        - abbreviation
                        - resource_type
                        - subject
                        - include_in_scheduler
                        - capacity
                        - notes
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - resource_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rooms:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/academics/rooms/{id}':
    get:
      tags:
        - 'Academics: Rooms'
      summary: 'Read Academics: Rooms'
      operationId: read_academics_rooms
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Resource ID
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 100
                      campus:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                        required:
                          - id
                          - description
                      building:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 100
                        required:
                          - id
                          - description
                      school_level:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                        required:
                          - id
                          - description
                      abbreviation:
                        type: string
                        description: Abbreviation
                        maxLength: 8
                      resource_type:
                        type: integer
                        description: Resource Type
                      subject:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                        required:
                          - id
                          - description
                      include_in_scheduler:
                        type: boolean
                        description: Include In Scheduler
                      capacity:
                        type: integer
                        description: |-
                          Capacity

                          The amount of reservations that can occur at the same time.
                      notes:
                        type: string
                        description: Notes
                        maxLength: 1000
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - description
                      - campus
                      - building
                      - school_level
                      - abbreviation
                      - resource_type
                      - subject
                      - include_in_scheduler
                      - capacity
                      - notes
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - resource_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rooms:read'
    parameters:
      - name: id
        in: path
        description: Resource ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /academics/config/rotation_days:
    get:
      tags:
        - 'Academics: Rotation Days'
      summary: 'List Academics: Rotation Days'
      operationId: list_academics_rotation_days
      parameters:
        - name: rotation_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          readOnly: true
                          maxLength: 50
                        abbreviation:
                          type: string
                          description: Abbreviation
                          maxLength: 8
                        day_index:
                          type: integer
                          description: Day Index
                        active:
                          type: boolean
                          description: |-
                            Active

                            Used to determine whether this day is active today.  Set automatically by the nightly process.
                        rotation:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                          required:
                            - id
                            - description
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - description
                        - abbreviation
                        - day_index
                        - active
                        - rotation
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.config.rotation_days:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/academics/config/rotation_days/{id}':
    get:
      tags:
        - 'Academics: Rotation Days'
      summary: 'Read Academics: Rotation Days'
      operationId: read_academics_rotation_days
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ID
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        readOnly: true
                        maxLength: 50
                      abbreviation:
                        type: string
                        description: Abbreviation
                        maxLength: 8
                      day_index:
                        type: integer
                        description: Day Index
                      active:
                        type: boolean
                        description: |-
                          Active

                          Used to determine whether this day is active today.  Set automatically by the nightly process.
                      rotation:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                        required:
                          - id
                          - description
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - description
                      - abbreviation
                      - day_index
                      - active
                      - rotation
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.config.rotation_days:read'
    parameters:
      - name: id
        in: path
        description: ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /academics/rubric_categories:
    post:
      tags:
        - 'Academics: Rubric Categories'
      summary: 'Create Academics: Rubric Categories'
      operationId: create_academics_rubric_categories
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: ID
                      readOnly: true
                    description:
                      type: string
                      description: Rubric Category Description
                      maxLength: 100
                    report_override_description:
                      type: string
                      description: Report Card Description
                      maxLength: 250
                    allow_curriculum:
                      type: boolean
                      description: Allow Curriculum
                    sort_key:
                      type: integer
                      description: Sort Key
                  required:
                    - description
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubric_categories:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Academics: Rubric Categories'
      summary: 'List Academics: Rubric Categories'
      operationId: list_academics_rubric_categories
      parameters:
        - name: archived
          in: query
          description: Archived?
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Rubric Category Description
                          maxLength: 100
                        report_override_description:
                          type: string
                          description: Report Card Description
                          maxLength: 250
                        allow_curriculum:
                          type: boolean
                          description: Allow Curriculum
                        sort_key:
                          type: integer
                          description: Sort Key
                      required:
                        - id
                        - description
                        - report_override_description
                        - allow_curriculum
                        - sort_key
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubric_categories:list'
  '/academics/rubric_categories/{id}':
    get:
      tags:
        - 'Academics: Rubric Categories'
      summary: 'Read Academics: Rubric Categories'
      operationId: read_academics_rubric_categories
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ID
                        readOnly: true
                      description:
                        type: string
                        description: Rubric Category Description
                        maxLength: 100
                      report_override_description:
                        type: string
                        description: Report Card Description
                        maxLength: 250
                      allow_curriculum:
                        type: boolean
                        description: Allow Curriculum
                      sort_key:
                        type: integer
                        description: Sort Key
                    required:
                      - id
                      - description
                      - report_override_description
                      - allow_curriculum
                      - sort_key
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubric_categories:read'
    parameters:
      - name: id
        in: path
        description: ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Academics: Rubric Categories'
      summary: 'Update Academics: Rubric Categories'
      operationId: update_academics_rubric_categories
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: ID
                      readOnly: true
                    description:
                      type: string
                      description: Rubric Category Description
                      maxLength: 100
                    report_override_description:
                      type: string
                      description: Report Card Description
                      maxLength: 250
                    allow_curriculum:
                      type: boolean
                      description: Allow Curriculum
                    sort_key:
                      type: integer
                      description: Sort Key
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubric_categories:update'
  /academics/rubric_criteria:
    post:
      tags:
        - 'Academics: Rubric Criteria'
      summary: 'Create Academics: Rubric Criteria'
      operationId: create_academics_rubric_criteria
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Rubric Criteria ID
                      readOnly: true
                    category_id:
                      type: integer
                      description: Category
                    rubric_id:
                      type: integer
                      description: Rubric ID
                    description:
                      type: string
                      description: Description
                      maxLength: 800
                    report_override_description:
                      type: string
                      description: |-
                        Report Card Description

                        Override rubric criteria description for use on report cards
                      maxLength: 1000
                    scale_id:
                      type: integer
                      description: Scale ID
                    type:
                      type: integer
                      description: |-
                        Type

                        Used to distinguish rubric criteria scale (normal), text (comments), or integer (numeric) grades entry options.
                    scale_levels:
                      type: string
                      description: Scale Levels
                      readOnly: true
                    tag:
                      type: string
                      description: Tag
                      maxLength: 300
                    notes:
                      type: string
                      description: Notes
                    sort_key:
                      type: integer
                      description: Sort Key
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
                  required:
                    - rubric_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubric_criteria:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Academics: Rubric Criteria'
      summary: 'List Academics: Rubric Criteria'
      operationId: list_academics_rubric_criteria
      parameters:
        - name: category
          in: query
          description: Category
          required: false
          schema:
            type: integer
        - name: rubric
          in: query
          description: Rubric ID
          required: false
          schema:
            type: integer
        - name: scale
          in: query
          description: Scale ID
          required: false
          schema:
            type: integer
        - name: archived
          in: query
          description: Archived?
          required: false
          schema:
            type: boolean
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Rubric Criteria ID
                          readOnly: true
                        category_id:
                          type: integer
                          description: Category
                        rubric_id:
                          type: integer
                          description: Rubric ID
                        description:
                          type: string
                          description: Description
                          maxLength: 800
                        report_override_description:
                          type: string
                          description: |-
                            Report Card Description

                            Override rubric criteria description for use on report cards
                          maxLength: 1000
                        scale_id:
                          type: integer
                          description: Scale ID
                        type:
                          type: integer
                          description: |-
                            Type

                            Used to distinguish rubric criteria scale (normal), text (comments), or integer (numeric) grades entry options.
                        scale_levels:
                          type: string
                          description: Scale Levels
                          readOnly: true
                        tag:
                          type: string
                          description: Tag
                          maxLength: 300
                        notes:
                          type: string
                          description: Notes
                        sort_key:
                          type: integer
                          description: Sort Key
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - category_id
                        - rubric_id
                        - description
                        - report_override_description
                        - scale_id
                        - type
                        - scale_levels
                        - tag
                        - notes
                        - sort_key
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - category_id
                              - type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubric_criteria:list'
  '/academics/rubric_criteria/{id}':
    get:
      tags:
        - 'Academics: Rubric Criteria'
      summary: 'Read Academics: Rubric Criteria'
      operationId: read_academics_rubric_criteria
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Rubric Criteria ID
                        readOnly: true
                      category_id:
                        type: integer
                        description: Category
                      rubric_id:
                        type: integer
                        description: Rubric ID
                      description:
                        type: string
                        description: Description
                        maxLength: 800
                      report_override_description:
                        type: string
                        description: |-
                          Report Card Description

                          Override rubric criteria description for use on report cards
                        maxLength: 1000
                      scale_id:
                        type: integer
                        description: Scale ID
                      type:
                        type: integer
                        description: |-
                          Type

                          Used to distinguish rubric criteria scale (normal), text (comments), or integer (numeric) grades entry options.
                      scale_levels:
                        type: string
                        description: Scale Levels
                        readOnly: true
                      tag:
                        type: string
                        description: Tag
                        maxLength: 300
                      notes:
                        type: string
                        description: Notes
                      sort_key:
                        type: integer
                        description: Sort Key
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - category_id
                      - rubric_id
                      - description
                      - report_override_description
                      - scale_id
                      - type
                      - scale_levels
                      - tag
                      - notes
                      - sort_key
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - category_id
                              - type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubric_criteria:read'
    parameters:
      - name: id
        in: path
        description: Rubric Criteria ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Academics: Rubric Criteria'
      summary: 'Update Academics: Rubric Criteria'
      operationId: update_academics_rubric_criteria
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Rubric Criteria ID
                      readOnly: true
                    category_id:
                      type: integer
                      description: Category
                    rubric_id:
                      type: integer
                      description: Rubric ID
                    description:
                      type: string
                      description: Description
                      maxLength: 800
                    report_override_description:
                      type: string
                      description: |-
                        Report Card Description

                        Override rubric criteria description for use on report cards
                      maxLength: 1000
                    scale_id:
                      type: integer
                      description: Scale ID
                    type:
                      type: integer
                      description: |-
                        Type

                        Used to distinguish rubric criteria scale (normal), text (comments), or integer (numeric) grades entry options.
                    scale_levels:
                      type: string
                      description: Scale Levels
                      readOnly: true
                    tag:
                      type: string
                      description: Tag
                      maxLength: 300
                    notes:
                      type: string
                      description: Notes
                    sort_key:
                      type: integer
                      description: Sort Key
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubric_criteria:update'
  /academics/rubric_scales:
    post:
      tags:
        - 'Academics: Rubric Scales'
      summary: 'Create Academics: Rubric Scales'
      operationId: create_academics_rubric_scales
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: ID
                      readOnly: true
                    description:
                      type: string
                      description: Description
                      maxLength: 200
                    scale_levels:
                      type: string
                      description: Scale Levels
                      readOnly: true
                    portal_display_format:
                      type: integer
                      description: Portal Assignment Criteria Grade Display Field
                  required:
                    - description
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubric_scales:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Academics: Rubric Scales'
      summary: 'List Academics: Rubric Scales'
      operationId: list_academics_rubric_scales
      parameters:
        - name: archived
          in: query
          description: Archived?
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 200
                        scale_levels:
                          type: string
                          description: Scale Levels
                          readOnly: true
                        portal_display_format:
                          type: integer
                          description: Portal Assignment Criteria Grade Display Field
                      required:
                        - id
                        - description
                        - scale_levels
                        - portal_display_format
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - portal_display_format
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubric_scales:list'
  '/academics/rubric_scales/{id}':
    get:
      tags:
        - 'Academics: Rubric Scales'
      summary: 'Read Academics: Rubric Scales'
      operationId: read_academics_rubric_scales
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ID
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 200
                      scale_levels:
                        type: string
                        description: Scale Levels
                        readOnly: true
                      portal_display_format:
                        type: integer
                        description: Portal Assignment Criteria Grade Display Field
                    required:
                      - id
                      - description
                      - scale_levels
                      - portal_display_format
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - portal_display_format
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubric_scales:read'
    parameters:
      - name: id
        in: path
        description: ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Academics: Rubric Scales'
      summary: 'Update Academics: Rubric Scales'
      operationId: update_academics_rubric_scales
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: ID
                      readOnly: true
                    description:
                      type: string
                      description: Description
                      maxLength: 200
                    scale_levels:
                      type: string
                      description: Scale Levels
                      readOnly: true
                    portal_display_format:
                      type: integer
                      description: Portal Assignment Criteria Grade Display Field
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubric_scales:update'
  /academics/rubric_scale_levels:
    post:
      tags:
        - 'Academics: Rubric Scales - Levels'
      summary: 'Create Academics: Rubric Scales - Levels'
      operationId: create_academics_rubric_scales_levels
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: ID
                      readOnly: true
                    description:
                      type: string
                      description: Description
                      maxLength: 500
                    abbreviation:
                      type: string
                      description: Abbreviation
                      maxLength: 35
                    numeric_value:
                      type: number
                      description: Numeric Value
                    notes:
                      type: string
                      description: Notes
                    sort_key:
                      type: integer
                      description: Sort Key
                    scale_id:
                      type: integer
                      description: Scale
                    scale_description:
                      type: string
                      description: Description
                      maxLength: 200
                  required:
                    - description
                    - abbreviation
                    - scale_id
                    - scale_description
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubric_scale_levels:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Academics: Rubric Scales - Levels'
      summary: 'List Academics: Rubric Scales - Levels'
      operationId: list_academics_rubric_scales_levels
      parameters:
        - name: scale_id
          in: query
          description: Scale
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 500
                        abbreviation:
                          type: string
                          description: Abbreviation
                          maxLength: 35
                        numeric_value:
                          type: number
                          description: Numeric Value
                        notes:
                          type: string
                          description: Notes
                        sort_key:
                          type: integer
                          description: Sort Key
                        scale_id:
                          type: integer
                          description: Scale
                        scale_description:
                          type: string
                          description: Description
                          maxLength: 200
                      required:
                        - id
                        - description
                        - abbreviation
                        - numeric_value
                        - notes
                        - sort_key
                        - scale_id
                        - scale_description
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubric_scale_levels:list'
  '/academics/rubric_scale_levels/{id}':
    get:
      tags:
        - 'Academics: Rubric Scales - Levels'
      summary: 'Read Academics: Rubric Scales - Levels'
      operationId: read_academics_rubric_scales_levels
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ID
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 500
                      abbreviation:
                        type: string
                        description: Abbreviation
                        maxLength: 35
                      numeric_value:
                        type: number
                        description: Numeric Value
                      notes:
                        type: string
                        description: Notes
                      sort_key:
                        type: integer
                        description: Sort Key
                      scale_id:
                        type: integer
                        description: Scale
                      scale_description:
                        type: string
                        description: Description
                        maxLength: 200
                    required:
                      - id
                      - description
                      - abbreviation
                      - numeric_value
                      - notes
                      - sort_key
                      - scale_id
                      - scale_description
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubric_scale_levels:read'
    parameters:
      - name: id
        in: path
        description: ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Academics: Rubric Scales - Levels'
      summary: 'Update Academics: Rubric Scales - Levels'
      operationId: update_academics_rubric_scales_levels
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: ID
                      readOnly: true
                    description:
                      type: string
                      description: Description
                      maxLength: 500
                    abbreviation:
                      type: string
                      description: Abbreviation
                      maxLength: 35
                    numeric_value:
                      type: number
                      description: Numeric Value
                    notes:
                      type: string
                      description: Notes
                    sort_key:
                      type: integer
                      description: Sort Key
                    scale_id:
                      type: integer
                      description: Scale
                    scale_description:
                      type: string
                      description: Description
                      maxLength: 200
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubric_scale_levels:update'
  /academics/rubrics:
    post:
      tags:
        - 'Academics: Rubrics'
      summary: 'Create Academics: Rubrics'
      operationId: create_academics_rubrics
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Rubric ID
                      readOnly: true
                    category_id:
                      type: integer
                      description: Category ID
                    description:
                      type: string
                      description: Description
                      maxLength: 200
                    report_override_description:
                      type: string
                      description: |-
                        Report Card Description

                        Override rubric description to be used on report cards
                      maxLength: 500
                    sort_key:
                      type: integer
                      description: Sort Key
                    allow_curriculum:
                      type: boolean
                      description: Allow Curriculum
                  required:
                    - description
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubrics:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Academics: Rubrics'
      summary: 'List Academics: Rubrics'
      operationId: list_academics_rubrics
      parameters:
        - name: category
          in: query
          description: Category ID
          required: false
          schema:
            type: integer
        - name: archived
          in: query
          description: Archived?
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Rubric ID
                          readOnly: true
                        category_id:
                          type: integer
                          description: Category ID
                        description:
                          type: string
                          description: Description
                          maxLength: 200
                        report_override_description:
                          type: string
                          description: |-
                            Report Card Description

                            Override rubric description to be used on report cards
                          maxLength: 500
                        sort_key:
                          type: integer
                          description: Sort Key
                        allow_curriculum:
                          type: boolean
                          description: Allow Curriculum
                      required:
                        - id
                        - category_id
                        - description
                        - report_override_description
                        - sort_key
                        - allow_curriculum
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubrics:list'
  '/academics/rubrics/{id}':
    get:
      tags:
        - 'Academics: Rubrics'
      summary: 'Read Academics: Rubrics'
      operationId: read_academics_rubrics
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Rubric ID
                        readOnly: true
                      category_id:
                        type: integer
                        description: Category ID
                      description:
                        type: string
                        description: Description
                        maxLength: 200
                      report_override_description:
                        type: string
                        description: |-
                          Report Card Description

                          Override rubric description to be used on report cards
                        maxLength: 500
                      sort_key:
                        type: integer
                        description: Sort Key
                      allow_curriculum:
                        type: boolean
                        description: Allow Curriculum
                    required:
                      - id
                      - category_id
                      - description
                      - report_override_description
                      - sort_key
                      - allow_curriculum
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubrics:read'
    parameters:
      - name: id
        in: path
        description: Rubric ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Academics: Rubrics'
      summary: 'Update Academics: Rubrics'
      operationId: update_academics_rubrics
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Rubric ID
                      readOnly: true
                    category_id:
                      type: integer
                      description: Category ID
                    description:
                      type: string
                      description: Description
                      maxLength: 200
                    report_override_description:
                      type: string
                      description: |-
                        Report Card Description

                        Override rubric description to be used on report cards
                      maxLength: 500
                    sort_key:
                      type: integer
                      description: Sort Key
                    allow_curriculum:
                      type: boolean
                      description: Allow Curriculum
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.rubrics:update'
  /academics/student_alerts:
    get:
      tags:
        - 'Academics: Student Alerts'
      summary: 'List Academics: Student Alerts'
      operationId: list_academics_student_alerts
      parameters:
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        family_alert:
                          type: string
                          description: |-
                            Family Alert

                            Important family alert information that will be prominently displayed on the Teacher portal and available to all staff &amp; faculty
                          maxLength: 1000
                        medical_alert:
                          type: string
                          description: |-
                            Medical Alert

                            Important medical alert information that will be prominently displayed on the Teacher portal and available to all staff &amp; faculty
                          maxLength: 1000
                        general_alert:
                          type: string
                          description: |-
                            General Alert

                            Important general alert information that will be prominently displayed on the Teacher portal and available to all staff &amp; faculty
                          maxLength: 1000
                        academic_alert:
                          type: string
                          description: Academic Alert
                          maxLength: 1000
                      required:
                        - id
                        - family_alert
                        - medical_alert
                        - general_alert
                        - academic_alert
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.student_alerts:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/academics/student_alerts/{person_id}':
    get:
      tags:
        - 'Academics: Student Alerts'
      summary: 'Read Academics: Student Alerts'
      operationId: read_academics_student_alerts
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      family_alert:
                        type: string
                        description: |-
                          Family Alert

                          Important family alert information that will be prominently displayed on the Teacher portal and available to all staff &amp; faculty
                        maxLength: 1000
                      medical_alert:
                        type: string
                        description: |-
                          Medical Alert

                          Important medical alert information that will be prominently displayed on the Teacher portal and available to all staff &amp; faculty
                        maxLength: 1000
                      general_alert:
                        type: string
                        description: |-
                          General Alert

                          Important general alert information that will be prominently displayed on the Teacher portal and available to all staff &amp; faculty
                        maxLength: 1000
                      academic_alert:
                        type: string
                        description: Academic Alert
                        maxLength: 1000
                    required:
                      - id
                      - family_alert
                      - medical_alert
                      - general_alert
                      - academic_alert
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.student_alerts:read'
    parameters:
      - name: person_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Academics: Student Alerts'
      summary: 'Update Academics: Student Alerts'
      operationId: update_academics_student_alerts
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    family_alert:
                      type: string
                      description: |-
                        Family Alert

                        Important family alert information that will be prominently displayed on the Teacher portal and available to all staff &amp; faculty
                      maxLength: 1000
                    medical_alert:
                      type: string
                      description: |-
                        Medical Alert

                        Important medical alert information that will be prominently displayed on the Teacher portal and available to all staff &amp; faculty
                      maxLength: 1000
                    general_alert:
                      type: string
                      description: |-
                        General Alert

                        Important general alert information that will be prominently displayed on the Teacher portal and available to all staff &amp; faculty
                      maxLength: 1000
                    academic_alert:
                      type: string
                      description: Academic Alert
                      maxLength: 1000
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.student_alerts:update'
  /academics/student_assignments:
    get:
      tags:
        - 'Academics: Student Assignments'
      summary: 'List Academics: Student Assignments'
      operationId: list_academics_student_assignments
      parameters:
        - name: assignment_id
          in: query
          description: Class Assignment ID
          required: false
          schema:
            type: integer
        - name: internal_class_id
          in: query
          description: Internal Class ID
          required: false
          schema:
            type: integer
        - name: grading_period_id
          in: query
          description: Grading Period
          required: false
          schema:
            type: integer
        - name: assignment_type
          in: query
          description: |-
            Assignment Type

            The type of assignment: for ex. Homework, Quiz, Exam, etc.
          required: false
          schema:
            type: integer
        - name: date_assigned
          in: query
          description: |-
            Date Assigned

            The date on which this assignment was assigned
          required: false
          schema:
            type: string
            format: date
        - name: due_date
          in: query
          description: |-
            Due Date

            The due date, if one was entered, otherwise the date the assignment was assigned
          required: false
          schema:
            type: string
            format: date
        - name: display_status
          in: query
          description: Display Status
          required: false
          schema:
            type: integer
        - name: student_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: completion_status
          in: query
          description: Completion Status
          required: false
          schema:
            type: integer
        - name: last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: on_or_before_date_assigned
          in: query
          description: |-
            Date Assigned

            The date on which this assignment was assigned
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_date_assigned
          in: query
          description: |-
            Date Assigned

            The date on which this assignment was assigned
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_due_date
          in: query
          description: |-
            Due Date

            The due date, if one was entered, otherwise the date the assignment was assigned
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_due_date
          in: query
          description: |-
            Due Date

            The due date, if one was entered, otherwise the date the assignment was assigned
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Class Assignment Person ID
                          readOnly: true
                        assignment:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Class Assignment ID
                              readOnly: true
                            internal_class_id:
                              type: integer
                              description: Internal Class ID
                              readOnly: true
                            grading_period_id:
                              type: integer
                              description: Grading Period
                            assignment_type:
                              type: integer
                              description: |-
                                Assignment Type

                                The type of assignment: for ex. Homework, Quiz, Exam, etc.
                            description:
                              type: string
                              description: Description
                              maxLength: 256
                            date_assigned:
                              type: string
                              format: date
                              description: |-
                                Date Assigned

                                The date on which this assignment was assigned
                            due_date:
                              type: string
                              format: date
                              description: |-
                                Due Date

                                The due date, if one was entered, otherwise the date the assignment was assigned
                              readOnly: true
                            not_graded:
                              type: boolean
                              description: |-
                                Not to be Graded

                                If selected, this assignment will not factor into the students&#39; grades.  Any grades that are entered will NOT count towards the final grades.
                            maximum_score:
                              type: integer
                              description: |-
                                Maximum Score

                                The maximum possible score for this assignment
                            weight:
                              type: integer
                              description: |-
                                Weight (Pts)

                                The weight for this assignment
                            notes:
                              type: string
                              description: Notes
                            display_status:
                              type: integer
                              description: Display Status
                          required:
                            - id
                            - internal_class_id
                            - grading_period_id
                            - assignment_type
                            - description
                            - date_assigned
                            - due_date
                            - not_graded
                            - maximum_score
                            - weight
                            - notes
                            - display_status
                        student_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        completion_status:
                          type: integer
                          description: Completion Status
                        raw_score:
                          type: number
                          description: Raw Score
                        private_notes_for_teacher:
                          type: string
                          description: Private Notes for Teacher
                          maxLength: 1500
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - assignment
                        - student_id
                        - completion_status
                        - raw_score
                        - private_notes_for_teacher
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - assignment.grading_period_id
                              - assignment.assignment_type
                              - assignment.display_status
                              - completion_status
                              - school_year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.student_assignments:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/academics/student_assignments/{id}':
    get:
      tags:
        - 'Academics: Student Assignments'
      summary: 'Read Academics: Student Assignments'
      operationId: read_academics_student_assignments
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Class Assignment Person ID
                        readOnly: true
                      assignment:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Class Assignment ID
                            readOnly: true
                          internal_class_id:
                            type: integer
                            description: Internal Class ID
                            readOnly: true
                          grading_period_id:
                            type: integer
                            description: Grading Period
                          assignment_type:
                            type: integer
                            description: |-
                              Assignment Type

                              The type of assignment: for ex. Homework, Quiz, Exam, etc.
                          description:
                            type: string
                            description: Description
                            maxLength: 256
                          date_assigned:
                            type: string
                            format: date
                            description: |-
                              Date Assigned

                              The date on which this assignment was assigned
                          due_date:
                            type: string
                            format: date
                            description: |-
                              Due Date

                              The due date, if one was entered, otherwise the date the assignment was assigned
                            readOnly: true
                          not_graded:
                            type: boolean
                            description: |-
                              Not to be Graded

                              If selected, this assignment will not factor into the students&#39; grades.  Any grades that are entered will NOT count towards the final grades.
                          maximum_score:
                            type: integer
                            description: |-
                              Maximum Score

                              The maximum possible score for this assignment
                          weight:
                            type: integer
                            description: |-
                              Weight (Pts)

                              The weight for this assignment
                          notes:
                            type: string
                            description: Notes
                          display_status:
                            type: integer
                            description: Display Status
                        required:
                          - id
                          - internal_class_id
                          - grading_period_id
                          - assignment_type
                          - description
                          - date_assigned
                          - due_date
                          - not_graded
                          - maximum_score
                          - weight
                          - notes
                          - display_status
                      student_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      completion_status:
                        type: integer
                        description: Completion Status
                      raw_score:
                        type: number
                        description: Raw Score
                      private_notes_for_teacher:
                        type: string
                        description: Private Notes for Teacher
                        maxLength: 1500
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - assignment
                      - student_id
                      - completion_status
                      - raw_score
                      - private_notes_for_teacher
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - assignment.grading_period_id
                              - assignment.assignment_type
                              - assignment.display_status
                              - completion_status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.student_assignments:read'
    parameters:
      - name: id
        in: path
        description: Class Assignment Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /academics/student_daily_schedules:
    get:
      tags:
        - 'Academics: Student Daily Schedules'
      summary: 'List Academics: Student Daily Schedules'
      operationId: list_academics_student_daily_schedules
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: true
          schema:
            type: integer
        - name: calendar_date
          in: query
          description: Calendar Date
          required: false
          schema:
            type: string
            format: date
        - name: item_type
          in: query
          description: Item Type
          required: false
          schema:
            type: string
            maxLength: 50
        - name: on_or_after_calendar_date
          in: query
          description: Calendar Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_calendar_date
          in: query
          description: Calendar Date
          required: false
          schema:
            type: string
            format: date
        - name: record_type_is_not
          in: query
          description: Record Type
          required: false
          schema:
            type: string
            maxLength: 15
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        person_id:
                          type: integer
                          description: Person ID
                        record_id:
                          type: integer
                          description: Record Fk
                        record_type:
                          type: string
                          description: Record Type
                          maxLength: 15
                        calendar_date:
                          type: string
                          format: date
                          description: Calendar Date
                        start_time:
                          type: string
                          description: Start Time
                          readOnly: true
                        end_time:
                          type: string
                          description: End Time
                          readOnly: true
                        item_description:
                          type: string
                          description: Item Description
                          maxLength: 200
                        item_type:
                          type: string
                          description: Item Type
                          maxLength: 50
                        day_description:
                          type: string
                          description: Day Description
                          maxLength: 103
                        period:
                          type: string
                          description: Period
                          maxLength: 50
                        period_abbreviation:
                          type: string
                          description: Period Abbreviation
                          maxLength: 6
                        item_location:
                          type: string
                          description: Item Location
                          maxLength: 255
                        teacher:
                          type: string
                          description: Teacher
                          maxLength: 500
                        item_status:
                          type: string
                          description: Schedule Item Status
                          maxLength: 50
                        virtual_meeting_url:
                          type: string
                          description: Virtual Meeting URL
                          maxLength: 2000
                      required:
                        - person_id
                        - record_id
                        - record_type
                        - calendar_date
                        - start_time
                        - end_time
                        - item_description
                        - item_type
                        - day_description
                        - period
                        - period_abbreviation
                        - item_location
                        - teacher
                        - item_status
                        - virtual_meeting_url
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - record_type
                              - record_type_is_not
                              - school_year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.student_daily_schedules:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  /academics/subjects:
    get:
      tags:
        - 'Academics: Subjects'
      summary: 'List Academics: Subjects'
      operationId: list_academics_subjects
      parameters:
        - name: school_level.id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: department_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        school_level:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                          required:
                            - id
                            - description
                        department:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 100
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 10
                          required:
                            - id
                            - description
                            - abbreviation
                        description:
                          type: string
                          description: Description
                          maxLength: 50
                        abbreviation:
                          type: string
                          description: Abbreviation
                          maxLength: 5
                        credits_required:
                          type: number
                          description: Credits Required
                        sort_key:
                          type: string
                          description: Sort Key
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - school_level
                        - department
                        - description
                        - abbreviation
                        - credits_required
                        - sort_key
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.subjects:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/academics/subjects/{id}':
    get:
      tags:
        - 'Academics: Subjects'
      summary: 'Read Academics: Subjects'
      operationId: read_academics_subjects
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ID
                        readOnly: true
                      school_level:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                        required:
                          - id
                          - description
                      department:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 100
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 10
                        required:
                          - id
                          - description
                          - abbreviation
                      description:
                        type: string
                        description: Description
                        maxLength: 50
                      abbreviation:
                        type: string
                        description: Abbreviation
                        maxLength: 5
                      credits_required:
                        type: number
                        description: Credits Required
                      sort_key:
                        type: string
                        description: Sort Key
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - school_level
                      - department
                      - description
                      - abbreviation
                      - credits_required
                      - sort_key
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.subjects:read'
    parameters:
      - name: id
        in: path
        description: ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /academics/teacher_daily_schedules:
    get:
      tags:
        - 'Academics: Teacher Daily Schedules'
      summary: 'List Academics: Teacher Daily Schedules'
      operationId: list_academics_teacher_daily_schedules
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: true
          schema:
            type: integer
        - name: record_type
          in: query
          description: Record Type
          required: false
          schema:
            type: string
            maxLength: 15
        - name: calendar_date
          in: query
          description: Calendar Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_calendar_date
          in: query
          description: Calendar Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_calendar_date
          in: query
          description: Calendar Date
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        person_id:
                          type: integer
                          description: Person ID
                        record_id:
                          type: integer
                          description: |-
                            Record ID

                            Record ID of the associated record, based on the &quot;record type&quot; of the schedule item. Record type MUST be used in tandem with the ID value as follows:



                            Class: The internal class ID of the class represented by the schedule item.



                            Universal Block: The period ID of the universal block represented by the schedule item.



                            Personal Event: The group event ID of the group event represented by the schedule item.



                            Event: The group event ID of the group event represented by the schedule item.
                        record_type:
                          type: string
                          description: Record Type
                          maxLength: 15
                        calendar_date:
                          type: string
                          format: date
                          description: Calendar Date
                        start_time:
                          type: string
                          description: Start Time
                          readOnly: true
                        end_time:
                          type: string
                          description: End Time
                          readOnly: true
                        item_type:
                          type: string
                          description: Item Type
                          maxLength: 50
                        item_description:
                          type: string
                          description: Item Description
                          maxLength: 200
                        day_description:
                          type: string
                          description: Day Description
                          maxLength: 103
                        period:
                          type: string
                          description: Period
                          maxLength: 50
                        period_abbreviation:
                          type: string
                          description: Period Abbreviation
                          maxLength: 6
                        item_location:
                          type: string
                          description: Item Location
                          maxLength: 255
                        item_status:
                          type: string
                          description: Schedule Item Status
                          maxLength: 16
                        virtual_meeting_url:
                          type: string
                          description: Virtual Meeting Url
                          maxLength: 2000
                      required:
                        - person_id
                        - record_id
                        - record_type
                        - calendar_date
                        - start_time
                        - end_time
                        - item_type
                        - item_description
                        - day_description
                        - period
                        - period_abbreviation
                        - item_location
                        - item_status
                        - virtual_meeting_url
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - record_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'academics.teacher_daily_schedules:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/admission/applicants/{applicant_id}/relationships':
    post:
      tags:
        - 'Admission: Applicant Relationships'
      summary: 'Create Admission: Applicant Relationships'
      operationId: create_admission_applicant_relationships
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person Person ID
                      readOnly: true
                    related_person_id:
                      type: integer
                      description: Related Person ID
                    relationship:
                      type: integer
                      description: |-
                        Relationship

                        When background shading is available:

                        Orange: Immediate family, e.g. Husband, Wife, Father, Mother, Brother, Sister, Sibling, Domestic Partner

                        Yellow: Secondary family, e.g. Grandparents, Aunt/Uncle, Cousin

                        Manilla: In-Laws, Exes, Step-child, Step-parent, deceased spouse

                        Gray-Blue: &quot;Unspecified&quot; and &quot;Other&quot;

                        White: All others
                    legal_custody:
                      type: boolean
                      description: |-
                        Legal Custody

                        Indicates that the parent has legal custody of the child
                    admissions_access:
                      type: boolean
                      description: |-
                        Admissions Access

                        Gives this person admission portal access, regardless of legal custody settings
                  required:
                    - related_person_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.applicants.relationships:create'
    parameters:
      - name: applicant_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Admission: Applicant Relationships'
      summary: 'List Admission: Applicant Relationships'
      operationId: list_admission_applicant_relationships
      parameters:
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person Person ID
                          readOnly: true
                        related_person_id:
                          type: integer
                          description: Related Person ID
                        relationship:
                          type: integer
                          description: |-
                            Relationship

                            When background shading is available:

                            Orange: Immediate family, e.g. Husband, Wife, Father, Mother, Brother, Sister, Sibling, Domestic Partner

                            Yellow: Secondary family, e.g. Grandparents, Aunt/Uncle, Cousin

                            Manilla: In-Laws, Exes, Step-child, Step-parent, deceased spouse

                            Gray-Blue: &quot;Unspecified&quot; and &quot;Other&quot;

                            White: All others
                        legal_custody:
                          type: boolean
                          description: |-
                            Legal Custody

                            Indicates that the parent has legal custody of the child
                        admissions_access:
                          type: boolean
                          description: |-
                            Admissions Access

                            Gives this person admission portal access, regardless of legal custody settings
                      required:
                        - id
                        - related_person_id
                        - relationship
                        - legal_custody
                        - admissions_access
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - relationship
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.applicants.relationships:list'
  '/admission/applicants/{applicant_id}/relationships/{id}':
    get:
      tags:
        - 'Admission: Applicant Relationships'
      summary: 'Read Admission: Applicant Relationships'
      operationId: read_admission_applicant_relationships
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person Person ID
                        readOnly: true
                      related_person_id:
                        type: integer
                        description: Related Person ID
                      relationship:
                        type: integer
                        description: |-
                          Relationship

                          When background shading is available:

                          Orange: Immediate family, e.g. Husband, Wife, Father, Mother, Brother, Sister, Sibling, Domestic Partner

                          Yellow: Secondary family, e.g. Grandparents, Aunt/Uncle, Cousin

                          Manilla: In-Laws, Exes, Step-child, Step-parent, deceased spouse

                          Gray-Blue: &quot;Unspecified&quot; and &quot;Other&quot;

                          White: All others
                      legal_custody:
                        type: boolean
                        description: |-
                          Legal Custody

                          Indicates that the parent has legal custody of the child
                      admissions_access:
                        type: boolean
                        description: |-
                          Admissions Access

                          Gives this person admission portal access, regardless of legal custody settings
                    required:
                      - id
                      - related_person_id
                      - relationship
                      - legal_custody
                      - admissions_access
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - relationship
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.applicants.relationships:read'
    parameters:
      - name: id
        in: path
        description: Person Person ID
        required: true
        schema:
          type: integer
      - name: applicant_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Admission: Applicant Relationships'
      summary: 'Update Admission: Applicant Relationships'
      operationId: update_admission_applicant_relationships
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person Person ID
                      readOnly: true
                    related_person_id:
                      type: integer
                      description: Related Person ID
                    relationship:
                      type: integer
                      description: |-
                        Relationship

                        When background shading is available:

                        Orange: Immediate family, e.g. Husband, Wife, Father, Mother, Brother, Sister, Sibling, Domestic Partner

                        Yellow: Secondary family, e.g. Grandparents, Aunt/Uncle, Cousin

                        Manilla: In-Laws, Exes, Step-child, Step-parent, deceased spouse

                        Gray-Blue: &quot;Unspecified&quot; and &quot;Other&quot;

                        White: All others
                    legal_custody:
                      type: boolean
                      description: |-
                        Legal Custody

                        Indicates that the parent has legal custody of the child
                    admissions_access:
                      type: boolean
                      description: |-
                        Admissions Access

                        Gives this person admission portal access, regardless of legal custody settings
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.applicants.relationships:update'
  /admission/applicants:
    post:
      tags:
        - 'Admission: Applicants'
      summary: 'Create Admission: Applicants'
      operationId: create_admission_applicants
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    household_id:
                      type: integer
                      description: Household ID
                    address_1:
                      type: string
                      description: Address 1
                      maxLength: 200
                    address_2:
                      type: string
                      description: Address 2
                      maxLength: 200
                    address_3:
                      type: string
                      description: Address 3
                      maxLength: 200
                    city:
                      type: string
                      description: City
                      maxLength: 50
                    state:
                      type: string
                      description: State
                      maxLength: 50
                    postal_code:
                      type: string
                      description: Postal Code
                      maxLength: 20
                    country:
                      type: integer
                      description: Country
                    applicant_id:
                      type: integer
                      description: Applicant ID
                      readOnly: true
                    name_prefix:
                      type: integer
                      description: Name Prefix
                    first_name:
                      type: string
                      description: First Name
                      maxLength: 50
                    middle_name:
                      type: string
                      description: Middle Name
                      maxLength: 50
                    last_name:
                      type: string
                      description: Last Name
                      maxLength: 50
                    name_suffix:
                      type: integer
                      description: Name Suffix
                    nick_name:
                      type: string
                      description: Nick Name
                      maxLength: 50
                    gender:
                      type: integer
                      description: Gender
                    pronouns:
                      type: integer
                      description: Pronouns
                    ethnicity:
                      type: integer
                      description: Ethnicity
                    date_of_birth:
                      type: string
                      format: date
                      description: Date Of Birth
                    place_of_birth:
                      type: string
                      description: Place of Birth
                      maxLength: 50
                    email:
                      type: string
                      description: Email
                      maxLength: 100
                    phone_mobile:
                      type: string
                      description: Phone Mobile
                      maxLength: 30
                    current_grade:
                      type: integer
                      description: Current Grade
                    application_id:
                      type: integer
                      description: Application ID
                    year_applying_for:
                      type: integer
                      description: Year Applying For
                    month_applying_for:
                      type: integer
                      description: Month Applying For
                    grade_applying_for:
                      type: integer
                      description: Grade Applying For
                    resident_status_applying_for:
                      type: integer
                      description: Resident Status Applying For
                    campus_applying_for:
                      type: integer
                      description: Campus Applying For
                    student_group_applying_for:
                      type: integer
                      description: Student Group Applying For
                    admission_source:
                      type: integer
                      description: Admission Source
                    candidate_pool:
                      type: integer
                      description: Candidate Pool
                    requesting_financial_aid:
                      type: boolean
                      description: Requesting Financial Aid
                    admission_lead_date:
                      type: string
                      format: date
                      description: Admission Lead Date
                    inquiry_date:
                      type: string
                      format: date
                      description: Inquiry Date
                    visit_date:
                      type: string
                      format: date
                      description: Visit Date
                    application_date:
                      type: string
                      format: date
                      description: Application Date
                    application_status:
                      type: integer
                      description: Application Status
                    application_decision_date:
                      type: string
                      format: date
                      description: Application Decision Date
                    application_decision_response:
                      type: integer
                      description: Application Decision Response
                    application_decision_response_date:
                      type: string
                      format: date
                      description: Application Decision Response Date
                  required:
                    - household_id
                    - country
                    - name_prefix
                    - last_name
                    - name_suffix
                    - gender
                    - pronouns
                    - ethnicity
                    - current_grade
                    - application_id
                    - year_applying_for
                    - grade_applying_for
                    - resident_status_applying_for
                    - campus_applying_for
                    - student_group_applying_for
                    - admission_source
                    - candidate_pool
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.applicants:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Admission: Applicants'
      summary: 'List Admission: Applicants'
      operationId: list_admission_applicants
      parameters:
        - name: first_name
          in: query
          description: First Name
          required: false
          schema:
            type: string
            maxLength: 50
        - name: last_name
          in: query
          description: Last Name
          required: false
          schema:
            type: string
            maxLength: 50
        - name: date_of_birth
          in: query
          description: |-
            Birthday

            Birthday in MMM DD YYYY format
          required: false
          schema:
            type: string
            format: date
        - name: email
          in: query
          description: |-
            Email 1

            This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
          required: false
          schema:
            type: string
            maxLength: 100
        - name: role
          in: query
          description: Role
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        household_id:
                          type: integer
                          description: Household ID
                        applicant_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        name_prefix:
                          type: integer
                          description: Name Prefix
                        first_name:
                          type: string
                          description: First Name
                          maxLength: 50
                        middle_name:
                          type: string
                          description: Middle Name
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name
                          maxLength: 50
                        name_suffix:
                          type: integer
                          description: Name Suffix
                        nick_name:
                          type: string
                          description: Preferred Name
                          maxLength: 50
                        gender:
                          type: integer
                          description: Gender
                        pronouns:
                          type: integer
                          description: Pronouns
                        ethnicity:
                          type: integer
                          description: |-
                            Ethnicity (deprecated)

                            Information on handling Special Category data is available at https://www.veracross.com/privacy-policy
                        date_of_birth:
                          type: string
                          format: date
                          description: |-
                            Birthday

                            Birthday in MMM DD YYYY format
                        place_of_birth:
                          type: string
                          description: Place of Birth
                          maxLength: 50
                        email:
                          type: string
                          description: |-
                            Email 1

                            This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                          maxLength: 100
                        mobile_phone:
                          type: string
                          description: Mobile Phone
                          maxLength: 30
                        current_grade:
                          type: integer
                          description: Current Grade
                        roles:
                          type: string
                          description: |-
                            Roles

                            A list of all roles specified for this person.  Roles define this person&#39;s relationship to the school.  Can include &quot;virtual&quot; roles such as &quot;Relative of Alum&quot;.
                          readOnly: true
                        admissions_notes:
                          type: string
                          description: |-
                            Admissions Notes

                            Notes that are specific to this individual (not the Application) for use by the Admissions department.  Cannot be seen by non-Admissions personnel.
                          maxLength: 2000
                      required:
                        - household_id
                        - applicant_id
                        - name_prefix
                        - first_name
                        - middle_name
                        - last_name
                        - name_suffix
                        - nick_name
                        - gender
                        - pronouns
                        - ethnicity
                        - date_of_birth
                        - place_of_birth
                        - email
                        - mobile_phone
                        - current_grade
                        - roles
                        - admissions_notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - name_prefix
                              - name_suffix
                              - gender
                              - pronouns
                              - ethnicity
                              - current_grade
                              - role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.applicants:list'
  '/admission/applicants/{applicant_id}':
    get:
      tags:
        - 'Admission: Applicants'
      summary: 'Read Admission: Applicants'
      operationId: read_admission_applicants
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      household_id:
                        type: integer
                        description: Household ID
                      applicant_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      name_prefix:
                        type: integer
                        description: Name Prefix
                      first_name:
                        type: string
                        description: First Name
                        maxLength: 50
                      middle_name:
                        type: string
                        description: Middle Name
                        maxLength: 50
                      last_name:
                        type: string
                        description: Last Name
                        maxLength: 50
                      name_suffix:
                        type: integer
                        description: Name Suffix
                      nick_name:
                        type: string
                        description: Preferred Name
                        maxLength: 50
                      gender:
                        type: integer
                        description: Gender
                      pronouns:
                        type: integer
                        description: Pronouns
                      ethnicity:
                        type: integer
                        description: |-
                          Ethnicity (deprecated)

                          Information on handling Special Category data is available at https://www.veracross.com/privacy-policy
                      date_of_birth:
                        type: string
                        format: date
                        description: |-
                          Birthday

                          Birthday in MMM DD YYYY format
                      place_of_birth:
                        type: string
                        description: Place of Birth
                        maxLength: 50
                      email:
                        type: string
                        description: |-
                          Email 1

                          This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                        maxLength: 100
                      mobile_phone:
                        type: string
                        description: Mobile Phone
                        maxLength: 30
                      current_grade:
                        type: integer
                        description: Current Grade
                      roles:
                        type: string
                        description: |-
                          Roles

                          A list of all roles specified for this person.  Roles define this person&#39;s relationship to the school.  Can include &quot;virtual&quot; roles such as &quot;Relative of Alum&quot;.
                        readOnly: true
                      admissions_notes:
                        type: string
                        description: |-
                          Admissions Notes

                          Notes that are specific to this individual (not the Application) for use by the Admissions department.  Cannot be seen by non-Admissions personnel.
                        maxLength: 2000
                    required:
                      - household_id
                      - applicant_id
                      - name_prefix
                      - first_name
                      - middle_name
                      - last_name
                      - name_suffix
                      - nick_name
                      - gender
                      - pronouns
                      - ethnicity
                      - date_of_birth
                      - place_of_birth
                      - email
                      - mobile_phone
                      - current_grade
                      - roles
                      - admissions_notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - name_prefix
                              - name_suffix
                              - gender
                              - pronouns
                              - ethnicity
                              - current_grade
                              - role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.applicants:read'
    parameters:
      - name: applicant_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Admission: Applicants'
      summary: 'Update Admission: Applicants'
      operationId: update_admission_applicants
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    household_id:
                      type: integer
                      description: Household ID
                    applicant_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    name_prefix:
                      type: integer
                      description: Name Prefix
                    first_name:
                      type: string
                      description: First Name
                      maxLength: 50
                    middle_name:
                      type: string
                      description: Middle Name
                      maxLength: 50
                    last_name:
                      type: string
                      description: Last Name
                      maxLength: 50
                    name_suffix:
                      type: integer
                      description: Name Suffix
                    nick_name:
                      type: string
                      description: Preferred Name
                      maxLength: 50
                    gender:
                      type: integer
                      description: Gender
                    pronouns:
                      type: integer
                      description: Pronouns
                    ethnicity:
                      type: integer
                      description: |-
                        Ethnicity (deprecated)

                        Information on handling Special Category data is available at https://www.veracross.com/privacy-policy
                    date_of_birth:
                      type: string
                      format: date
                      description: |-
                        Birthday

                        Birthday in MMM DD YYYY format
                    place_of_birth:
                      type: string
                      description: Place of Birth
                      maxLength: 50
                    email:
                      type: string
                      description: |-
                        Email 1

                        This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                      maxLength: 100
                    mobile_phone:
                      type: string
                      description: Mobile Phone
                      maxLength: 30
                    current_grade:
                      type: integer
                      description: Current Grade
                    roles:
                      type: string
                      description: |-
                        Roles

                        A list of all roles specified for this person.  Roles define this person&#39;s relationship to the school.  Can include &quot;virtual&quot; roles such as &quot;Relative of Alum&quot;.
                      readOnly: true
                    admissions_notes:
                      type: string
                      description: |-
                        Admissions Notes

                        Notes that are specific to this individual (not the Application) for use by the Admissions department.  Cannot be seen by non-Admissions personnel.
                      maxLength: 2000
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.applicants:update'
  '/admission/applications/{application_id}/checklists':
    get:
      tags:
        - 'Admission: Application Checklists'
      summary: 'List Admission: Application Checklists'
      operationId: list_admission_application_checklists
      parameters:
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: C/L ID
                          readOnly: true
                        checklist_item_id:
                          type: integer
                          description: Registration Season Checklist Item ID
                        required:
                          type: boolean
                          description: Checklist Item Required
                        scheduled_date:
                          type: string
                          format: date-time
                          description: Scheduled Date
                        completed_date:
                          type: string
                          format: date
                          description: Checklist Item Completed Date
                        completed:
                          type: boolean
                          description: Checklist Item Complete
                        follow_up_complete:
                          type: boolean
                          description: Follow Up Complete
                        follow_up_complete_date:
                          type: string
                          format: date
                          description: Follow Up Date
                        notes:
                          type: string
                          description: Notes
                          maxLength: 5000
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - checklist_item_id
                        - required
                        - scheduled_date
                        - completed_date
                        - completed
                        - follow_up_complete
                        - follow_up_complete_date
                        - notes
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.applications.checklists:list'
    parameters:
      - name: application_id
        in: path
        description: Person Admission ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/admission/applications/{application_id}/checklists/{id}':
    get:
      tags:
        - 'Admission: Application Checklists'
      summary: 'Read Admission: Application Checklists'
      operationId: read_admission_application_checklists
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: C/L ID
                        readOnly: true
                      checklist_item_id:
                        type: integer
                        description: Registration Season Checklist Item ID
                      required:
                        type: boolean
                        description: Checklist Item Required
                      scheduled_date:
                        type: string
                        format: date-time
                        description: Scheduled Date
                      completed_date:
                        type: string
                        format: date
                        description: Checklist Item Completed Date
                      completed:
                        type: boolean
                        description: Checklist Item Complete
                      follow_up_complete:
                        type: boolean
                        description: Follow Up Complete
                      follow_up_complete_date:
                        type: string
                        format: date
                        description: Follow Up Date
                      notes:
                        type: string
                        description: Notes
                        maxLength: 5000
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - checklist_item_id
                      - required
                      - scheduled_date
                      - completed_date
                      - completed
                      - follow_up_complete
                      - follow_up_complete_date
                      - notes
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.applications.checklists:read'
    parameters:
      - name: id
        in: path
        description: C/L ID
        required: true
        schema:
          type: integer
      - name: application_id
        in: path
        description: Person Admission ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Admission: Application Checklists'
      summary: 'Update Admission: Application Checklists'
      operationId: update_admission_application_checklists
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: C/L ID
                      readOnly: true
                    checklist_item_id:
                      type: integer
                      description: Registration Season Checklist Item ID
                    required:
                      type: boolean
                      description: Checklist Item Required
                    scheduled_date:
                      type: string
                      format: date-time
                      description: Scheduled Date
                    completed_date:
                      type: string
                      format: date
                      description: Checklist Item Completed Date
                    completed:
                      type: boolean
                      description: Checklist Item Complete
                    follow_up_complete:
                      type: boolean
                      description: Follow Up Complete
                    follow_up_complete_date:
                      type: string
                      format: date
                      description: Follow Up Date
                    notes:
                      type: string
                      description: Notes
                      maxLength: 5000
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.applications.checklists:update'
  /admission/applications:
    post:
      tags:
        - 'Admission: Applications'
      summary: 'Create Admission: Applications'
      operationId: create_admission_applications
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    application_id:
                      type: integer
                      description: Application ID
                      readOnly: true
                    applicant_id:
                      type: integer
                      description: Applicant ID
                    year_applying_for:
                      type: integer
                      description: Year Applying For
                    month_applying_for:
                      type: integer
                      description: Month Applying For
                    grade_applying_for:
                      type: integer
                      description: Grade Applying For
                    resident_status_applying_for:
                      type: integer
                      description: Resident Status Applying For
                    campus_applying_for:
                      type: integer
                      description: Campus Applying For
                    student_group_applying_for:
                      type: integer
                      description: Student Group Applying For
                    admission_source:
                      type: integer
                      description: Admission Source
                    candidate_pool:
                      type: integer
                      description: Candidate Pool
                    admission_lead_date:
                      type: string
                      format: date
                      description: Admission Lead Date
                    inquiry_date:
                      type: string
                      format: date
                      description: Inquiry Date
                    visit_date:
                      type: string
                      format: date
                      description: Visit Date
                    application_date:
                      type: string
                      format: date
                      description: Application Date
                    requesting_financial_aid:
                      type: boolean
                      description: Requesting Financial Aid
                    application_status:
                      type: integer
                      description: Application Status
                    application_decision_date:
                      type: string
                      format: date
                      description: Application Decision Date
                    application_decision_response:
                      type: integer
                      description: Application Decision Response
                    application_decision_response_date:
                      type: string
                      format: date
                      description: Application Decision Response Date
                  required:
                    - applicant_id
                    - year_applying_for
                    - grade_applying_for
                    - resident_status_applying_for
                    - campus_applying_for
                    - student_group_applying_for
                    - admission_source
                    - candidate_pool
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.applications:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Admission: Applications'
      summary: 'List Admission: Applications'
      operationId: list_admission_applications
      parameters:
        - name: applicant_id
          in: query
          description: Applicant ID
          required: false
          schema:
            type: integer
        - name: year_applying_for
          in: query
          description: Year Applying For
          required: false
          schema:
            type: integer
        - name: application_status
          in: query
          description: Application Status
          required: false
          schema:
            type: integer
        - name: first_name
          in: query
          description: First Name
          required: false
          schema:
            type: string
            maxLength: 50
        - name: last_name
          in: query
          description: Last Name
          required: false
          schema:
            type: string
            maxLength: 50
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        application_id:
                          type: integer
                          description: Application ID
                          readOnly: true
                        applicant_id:
                          type: integer
                          description: Applicant ID
                        year_applying_for:
                          type: integer
                          description: Year Applying For
                        month_applying_for:
                          type: integer
                          description: Month Applying For
                        grade_applying_for:
                          type: integer
                          description: Grade Applying For
                        resident_status_applying_for:
                          type: integer
                          description: Resident Status Applying For
                        campus_applying_for:
                          type: integer
                          description: Campus Applying For
                        student_group_applying_for:
                          type: integer
                          description: Student Group Applying For
                        admission_source:
                          type: integer
                          description: Admission Source
                        candidate_pool:
                          type: integer
                          description: Candidate Pool
                        admission_lead_date:
                          type: string
                          format: date
                          description: Admission Lead Date
                        inquiry_date:
                          type: string
                          format: date
                          description: Inquiry Date
                        visit_date:
                          type: string
                          format: date
                          description: Visit Date
                        application_date:
                          type: string
                          format: date
                          description: Application Date
                        requesting_financial_aid:
                          type: boolean
                          description: Requesting Financial Aid
                        application_status:
                          type: integer
                          description: Application Status
                        application_decision_date:
                          type: string
                          format: date
                          description: Application Decision Date
                        application_decision_response:
                          type: integer
                          description: Application Decision Response
                        application_decision_response_date:
                          type: string
                          format: date
                          description: Application Decision Response Date
                      required:
                        - application_id
                        - applicant_id
                        - year_applying_for
                        - month_applying_for
                        - grade_applying_for
                        - resident_status_applying_for
                        - campus_applying_for
                        - student_group_applying_for
                        - admission_source
                        - candidate_pool
                        - admission_lead_date
                        - inquiry_date
                        - visit_date
                        - application_date
                        - requesting_financial_aid
                        - application_status
                        - application_decision_date
                        - application_decision_response
                        - application_decision_response_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - year_applying_for
                              - month_applying_for
                              - grade_applying_for
                              - resident_status_applying_for
                              - campus_applying_for
                              - student_group_applying_for
                              - admission_source
                              - candidate_pool
                              - application_status
                              - application_decision_response
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.applications:list'
  '/admission/applications/{application_id}':
    get:
      tags:
        - 'Admission: Applications'
      summary: 'Read Admission: Applications'
      operationId: read_admission_applications
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      application_id:
                        type: integer
                        description: Application ID
                        readOnly: true
                      applicant_id:
                        type: integer
                        description: Applicant ID
                      year_applying_for:
                        type: integer
                        description: Year Applying For
                      month_applying_for:
                        type: integer
                        description: Month Applying For
                      grade_applying_for:
                        type: integer
                        description: Grade Applying For
                      resident_status_applying_for:
                        type: integer
                        description: Resident Status Applying For
                      campus_applying_for:
                        type: integer
                        description: Campus Applying For
                      student_group_applying_for:
                        type: integer
                        description: Student Group Applying For
                      admission_source:
                        type: integer
                        description: Admission Source
                      candidate_pool:
                        type: integer
                        description: Candidate Pool
                      admission_lead_date:
                        type: string
                        format: date
                        description: Admission Lead Date
                      inquiry_date:
                        type: string
                        format: date
                        description: Inquiry Date
                      visit_date:
                        type: string
                        format: date
                        description: Visit Date
                      application_date:
                        type: string
                        format: date
                        description: Application Date
                      requesting_financial_aid:
                        type: boolean
                        description: Requesting Financial Aid
                      application_status:
                        type: integer
                        description: Application Status
                      application_decision_date:
                        type: string
                        format: date
                        description: Application Decision Date
                      application_decision_response:
                        type: integer
                        description: Application Decision Response
                      application_decision_response_date:
                        type: string
                        format: date
                        description: Application Decision Response Date
                    required:
                      - application_id
                      - applicant_id
                      - year_applying_for
                      - month_applying_for
                      - grade_applying_for
                      - resident_status_applying_for
                      - campus_applying_for
                      - student_group_applying_for
                      - admission_source
                      - candidate_pool
                      - admission_lead_date
                      - inquiry_date
                      - visit_date
                      - application_date
                      - requesting_financial_aid
                      - application_status
                      - application_decision_date
                      - application_decision_response
                      - application_decision_response_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - year_applying_for
                              - month_applying_for
                              - grade_applying_for
                              - resident_status_applying_for
                              - campus_applying_for
                              - student_group_applying_for
                              - admission_source
                              - candidate_pool
                              - application_status
                              - application_decision_response
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.applications:read'
    parameters:
      - name: application_id
        in: path
        description: Application ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Admission: Applications'
      summary: 'Update Admission: Applications'
      operationId: update_admission_applications
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    application_id:
                      type: integer
                      description: Application ID
                      readOnly: true
                    applicant_id:
                      type: integer
                      description: Applicant ID
                    year_applying_for:
                      type: integer
                      description: Year Applying For
                    month_applying_for:
                      type: integer
                      description: Month Applying For
                    grade_applying_for:
                      type: integer
                      description: Grade Applying For
                    resident_status_applying_for:
                      type: integer
                      description: Resident Status Applying For
                    campus_applying_for:
                      type: integer
                      description: Campus Applying For
                    student_group_applying_for:
                      type: integer
                      description: Student Group Applying For
                    admission_source:
                      type: integer
                      description: Admission Source
                    candidate_pool:
                      type: integer
                      description: Candidate Pool
                    admission_lead_date:
                      type: string
                      format: date
                      description: Admission Lead Date
                    inquiry_date:
                      type: string
                      format: date
                      description: Inquiry Date
                    visit_date:
                      type: string
                      format: date
                      description: Visit Date
                    application_date:
                      type: string
                      format: date
                      description: Application Date
                    requesting_financial_aid:
                      type: boolean
                      description: Requesting Financial Aid
                    application_status:
                      type: integer
                      description: Application Status
                    application_decision_date:
                      type: string
                      format: date
                      description: Application Decision Date
                    application_decision_response:
                      type: integer
                      description: Application Decision Response
                    application_decision_response_date:
                      type: string
                      format: date
                      description: Application Decision Response Date
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.applications:update'
  /admission/citizenships:
    post:
      tags:
        - 'Admission: Citizenships'
      summary: 'Create Admission: Citizenships'
      operationId: create_admission_citizenships
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person Citizenship ID
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person ID
                    country:
                      type: integer
                      description: Country of Citizenship
                    is_primary:
                      type: boolean
                      description: Primary Citizenship
                    passport_number:
                      type: string
                      description: Passport Number
                      maxLength: 30
                    passport_issue_date:
                      type: string
                      format: date
                      description: Passport Issue Date
                    passport_issuing_authority:
                      type: string
                      description: Passport Issuing Authority
                      maxLength: 100
                    passport_expiration_date:
                      type: string
                      format: date
                      description: Passport Expiration Date
                  required:
                    - person_id
                    - country
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.citizenships:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Admission: Citizenships'
      summary: 'List Admission: Citizenships'
      operationId: list_admission_citizenships
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person Citizenship ID
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                        country:
                          type: integer
                          description: Country of Citizenship
                        is_primary:
                          type: boolean
                          description: Primary Citizenship
                        passport_number:
                          type: string
                          description: Passport Number
                          maxLength: 30
                        passport_issue_date:
                          type: string
                          format: date
                          description: Passport Issue Date
                        passport_issuing_authority:
                          type: string
                          description: Passport Issuing Authority
                          maxLength: 100
                        passport_expiration_date:
                          type: string
                          format: date
                          description: Passport Expiration Date
                      required:
                        - id
                        - person_id
                        - country
                        - is_primary
                        - passport_number
                        - passport_issue_date
                        - passport_issuing_authority
                        - passport_expiration_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - country
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.citizenships:list'
  '/admission/citizenships/{id}':
    get:
      tags:
        - 'Admission: Citizenships'
      summary: 'Read Admission: Citizenships'
      operationId: read_admission_citizenships
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person Citizenship ID
                        readOnly: true
                      person_id:
                        type: integer
                        description: Person ID
                      country:
                        type: integer
                        description: Country of Citizenship
                      is_primary:
                        type: boolean
                        description: Primary Citizenship
                      passport_number:
                        type: string
                        description: Passport Number
                        maxLength: 30
                      passport_issue_date:
                        type: string
                        format: date
                        description: Passport Issue Date
                      passport_issuing_authority:
                        type: string
                        description: Passport Issuing Authority
                        maxLength: 100
                      passport_expiration_date:
                        type: string
                        format: date
                        description: Passport Expiration Date
                    required:
                      - id
                      - person_id
                      - country
                      - is_primary
                      - passport_number
                      - passport_issue_date
                      - passport_issuing_authority
                      - passport_expiration_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - country
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.citizenships:read'
    parameters:
      - name: id
        in: path
        description: Person Citizenship ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Admission: Citizenships'
      summary: 'Update Admission: Citizenships'
      operationId: update_admission_citizenships
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person Citizenship ID
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person ID
                    country:
                      type: integer
                      description: Country of Citizenship
                    is_primary:
                      type: boolean
                      description: Primary Citizenship
                    passport_number:
                      type: string
                      description: Passport Number
                      maxLength: 30
                    passport_issue_date:
                      type: string
                      format: date
                      description: Passport Issue Date
                    passport_issuing_authority:
                      type: string
                      description: Passport Issuing Authority
                      maxLength: 100
                    passport_expiration_date:
                      type: string
                      format: date
                      description: Passport Expiration Date
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.citizenships:update'
  '/admission/config/years/{school_year}/checklists':
    get:
      tags:
        - 'Admission: Configuration - Checklists'
      summary: 'List Admission: Configuration - Checklists'
      operationId: list_admission_configuration_checklists
      parameters:
        - name: category_id
          in: query
          description: Registration Season Checklist Category ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Registration Season Checklist Item ID
                          readOnly: true
                        school_year:
                          type: integer
                          description: School Year
                        checklist_type:
                          type: integer
                          description: Widget Type
                        description:
                          type: string
                          description: Description
                          maxLength: 100
                        abbreviation:
                          type: string
                          description: Abbreviation
                          maxLength: 15
                        required:
                          type: boolean
                          description: Required
                        filter_by_from_grade:
                          type: integer
                          description: Filter By From Grade
                        filter_by_to_grade:
                          type: integer
                          description: Filter By To Grade
                        filter_by_campus:
                          type: integer
                          description: Filter By Campus
                        filter_by_resident_status:
                          type: integer
                          description: Filter By Resident Status
                        filter_by_international:
                          type: integer
                          description: Filter By International
                        filter_by_group:
                          type: string
                          description: Filter By Group
                          readOnly: true
                        applies_to_prospect:
                          type: boolean
                          description: Applies To Prospect
                        required_for_application:
                          type: boolean
                          description: |-
                            Required For Application

                            Completion of all checklist items configured as &quot;Required for Application&quot; will trigger the insert of an application record and the update of the person&#39;s Role to include Applicant. Performs a check to avoid inserting a duplicate application record.
                        required_for_review:
                          type: boolean
                          description: |-
                            Required For Review

                            Indicates that this checklist item needs to be complete before the application can be processed.
                        due_date:
                          type: string
                          format: date
                          description: Due Date
                        early_due_date:
                          type: string
                          format: date
                          description: Due Date Early
                        category:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Registration Season Checklist Category ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 100
                            sort_key:
                              type: integer
                              description: Sort Key
                          required:
                            - id
                            - description
                            - sort_key
                        sort_key:
                          type: integer
                          description: Sort Key
                      required:
                        - id
                        - school_year
                        - checklist_type
                        - description
                        - abbreviation
                        - required
                        - filter_by_from_grade
                        - filter_by_to_grade
                        - filter_by_campus
                        - filter_by_resident_status
                        - filter_by_international
                        - filter_by_group
                        - applies_to_prospect
                        - required_for_application
                        - required_for_review
                        - due_date
                        - early_due_date
                        - category
                        - sort_key
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - school_year
                              - checklist_type
                              - filter_by_from_grade
                              - filter_by_to_grade
                              - filter_by_campus
                              - filter_by_resident_status
                              - filter_by_international
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.config.years.checklists:list'
    parameters:
      - name: school_year
        in: path
        description: School Year
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/admission/config/years/{school_year}/checklists/{id}':
    get:
      tags:
        - 'Admission: Configuration - Checklists'
      summary: 'Read Admission: Configuration - Checklists'
      operationId: read_admission_configuration_checklists
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Registration Season Checklist Item ID
                        readOnly: true
                      school_year:
                        type: integer
                        description: School Year
                      checklist_type:
                        type: integer
                        description: Widget Type
                      description:
                        type: string
                        description: Description
                        maxLength: 100
                      abbreviation:
                        type: string
                        description: Abbreviation
                        maxLength: 15
                      required:
                        type: boolean
                        description: Required
                      filter_by_from_grade:
                        type: integer
                        description: Filter By From Grade
                      filter_by_to_grade:
                        type: integer
                        description: Filter By To Grade
                      filter_by_campus:
                        type: integer
                        description: Filter By Campus
                      filter_by_resident_status:
                        type: integer
                        description: Filter By Resident Status
                      filter_by_international:
                        type: integer
                        description: Filter By International
                      filter_by_group:
                        type: string
                        description: Filter By Group
                        readOnly: true
                      applies_to_prospect:
                        type: boolean
                        description: Applies To Prospect
                      required_for_application:
                        type: boolean
                        description: |-
                          Required For Application

                          Completion of all checklist items configured as &quot;Required for Application&quot; will trigger the insert of an application record and the update of the person&#39;s Role to include Applicant. Performs a check to avoid inserting a duplicate application record.
                      required_for_review:
                        type: boolean
                        description: |-
                          Required For Review

                          Indicates that this checklist item needs to be complete before the application can be processed.
                      due_date:
                        type: string
                        format: date
                        description: Due Date
                      early_due_date:
                        type: string
                        format: date
                        description: Due Date Early
                      category:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Registration Season Checklist Category ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 100
                          sort_key:
                            type: integer
                            description: Sort Key
                        required:
                          - id
                          - description
                          - sort_key
                      sort_key:
                        type: integer
                        description: Sort Key
                    required:
                      - id
                      - school_year
                      - checklist_type
                      - description
                      - abbreviation
                      - required
                      - filter_by_from_grade
                      - filter_by_to_grade
                      - filter_by_campus
                      - filter_by_resident_status
                      - filter_by_international
                      - filter_by_group
                      - applies_to_prospect
                      - required_for_application
                      - required_for_review
                      - due_date
                      - early_due_date
                      - category
                      - sort_key
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - school_year
                              - checklist_type
                              - filter_by_from_grade
                              - filter_by_to_grade
                              - filter_by_campus
                              - filter_by_resident_status
                              - filter_by_international
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.config.years.checklists:read'
    parameters:
      - name: id
        in: path
        description: Registration Season Checklist Item ID
        required: true
        schema:
          type: integer
      - name: school_year
        in: path
        description: School Year
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /admission/config/years:
    get:
      tags:
        - 'Admission: Configuration - Years'
      summary: 'List Admission: Configuration - Years'
      operationId: list_admission_configuration_years
      parameters:
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: School Year
                        available_for_inquiry:
                          type: boolean
                          description: Open for Inquiries?
                      required:
                        - id
                        - available_for_inquiry
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.config.years:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/admission/config/years/{id}':
    get:
      tags:
        - 'Admission: Configuration - Years'
      summary: 'Read Admission: Configuration - Years'
      operationId: read_admission_configuration_years
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: School Year
                      available_for_inquiry:
                        type: boolean
                        description: Open for Inquiries?
                    required:
                      - id
                      - available_for_inquiry
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.config.years:read'
    parameters:
      - name: id
        in: path
        description: School Year
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/admission/households/{household_id}/members':
    get:
      tags:
        - 'Admission: Household Members'
      summary: 'List Admission: Household Members'
      operationId: list_admission_household_members
      parameters:
        - name: first_name
          in: query
          description: First Name
          required: false
          schema:
            type: string
            maxLength: 50
        - name: last_name
          in: query
          description: Last Name
          required: false
          schema:
            type: string
            maxLength: 50
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        name_prefix:
                          type: integer
                          description: Name Prefix
                        first_name:
                          type: string
                          description: First Name
                          maxLength: 50
                        nick_name:
                          type: string
                          description: Preferred Name
                          maxLength: 50
                        middle_name:
                          type: string
                          description: Middle Name
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name
                          maxLength: 50
                        name_suffix:
                          type: integer
                          description: Name Suffix
                        gender:
                          type: integer
                          description: Gender
                        date_of_birth:
                          type: string
                          format: date
                          description: |-
                            Birthday

                            Birthday in MMM DD YYYY format
                        email:
                          type: string
                          description: |-
                            Email 1

                            This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                          maxLength: 100
                      required:
                        - person_id
                        - name_prefix
                        - first_name
                        - nick_name
                        - middle_name
                        - last_name
                        - name_suffix
                        - gender
                        - date_of_birth
                        - email
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - name_prefix
                              - name_suffix
                              - gender
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.households.members:list'
    parameters:
      - name: household_id
        in: path
        description: Household ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /admission/households:
    get:
      tags:
        - 'Admission: Households'
      summary: 'List Admission: Households'
      operationId: list_admission_households
      parameters:
        - name: name
          in: query
          description: Name
          required: false
          schema:
            type: string
            maxLength: 50
        - name: address_1
          in: query
          description: Address 1 A
          required: false
          schema:
            type: string
            maxLength: 200
        - name: address_2
          in: query
          description: Address 2 A
          required: false
          schema:
            type: string
            maxLength: 200
        - name: address_3
          in: query
          description: Address 3 A
          required: false
          schema:
            type: string
            maxLength: 200
        - name: city
          in: query
          description: City A
          required: false
          schema:
            type: string
            maxLength: 50
        - name: state
          in: query
          description: State A
          required: false
          schema:
            type: string
            maxLength: 50
        - name: postal_code
          in: query
          description: Postal Code A
          required: false
          schema:
            type: string
            maxLength: 20
        - name: country
          in: query
          description: Country A
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Household ID
                          readOnly: true
                        name:
                          type: string
                          description: Name
                          maxLength: 50
                        address_1:
                          type: string
                          description: Address 1 A
                          maxLength: 200
                        address_2:
                          type: string
                          description: Address 2 A
                          maxLength: 200
                        address_3:
                          type: string
                          description: Address 3 A
                          maxLength: 200
                        city:
                          type: string
                          description: City A
                          maxLength: 50
                        county:
                          type: string
                          description: County
                          maxLength: 50
                        subdivision:
                          type: string
                          description: Subdivision
                          maxLength: 50
                        state:
                          type: string
                          description: State A
                          maxLength: 50
                        postal_code:
                          type: string
                          description: Postal Code A
                          maxLength: 20
                        country:
                          type: integer
                          description: Country A
                        phone:
                          type: string
                          description: |-
                            Phone

                            Will be copied to the household members&#39; Home Phone fields overnight if (a) the member is a student or (b) the member&#39;s Home Phone is not already populated.
                          maxLength: 30
                      required:
                        - id
                        - name
                        - address_1
                        - address_2
                        - address_3
                        - city
                        - county
                        - subdivision
                        - state
                        - postal_code
                        - country
                        - phone
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - country
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.households:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/admission/households/{id}':
    get:
      tags:
        - 'Admission: Households'
      summary: 'Read Admission: Households'
      operationId: read_admission_households
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Household ID
                        readOnly: true
                      name:
                        type: string
                        description: Name
                        maxLength: 50
                      address_1:
                        type: string
                        description: Address 1 A
                        maxLength: 200
                      address_2:
                        type: string
                        description: Address 2 A
                        maxLength: 200
                      address_3:
                        type: string
                        description: Address 3 A
                        maxLength: 200
                      city:
                        type: string
                        description: City A
                        maxLength: 50
                      county:
                        type: string
                        description: County
                        maxLength: 50
                      subdivision:
                        type: string
                        description: Subdivision
                        maxLength: 50
                      state:
                        type: string
                        description: State A
                        maxLength: 50
                      postal_code:
                        type: string
                        description: Postal Code A
                        maxLength: 20
                      country:
                        type: integer
                        description: Country A
                      phone:
                        type: string
                        description: |-
                          Phone

                          Will be copied to the household members&#39; Home Phone fields overnight if (a) the member is a student or (b) the member&#39;s Home Phone is not already populated.
                        maxLength: 30
                    required:
                      - id
                      - name
                      - address_1
                      - address_2
                      - address_3
                      - city
                      - county
                      - subdivision
                      - state
                      - postal_code
                      - country
                      - phone
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - country
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.households:read'
    parameters:
      - name: id
        in: path
        description: Household ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Admission: Households'
      summary: 'Update Admission: Households'
      operationId: update_admission_households
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Household ID
                      readOnly: true
                    name:
                      type: string
                      description: Name
                      maxLength: 50
                    address_1:
                      type: string
                      description: Address 1 A
                      maxLength: 200
                    address_2:
                      type: string
                      description: Address 2 A
                      maxLength: 200
                    address_3:
                      type: string
                      description: Address 3 A
                      maxLength: 200
                    city:
                      type: string
                      description: City A
                      maxLength: 50
                    county:
                      type: string
                      description: County
                      maxLength: 50
                    subdivision:
                      type: string
                      description: Subdivision
                      maxLength: 50
                    state:
                      type: string
                      description: State A
                      maxLength: 50
                    postal_code:
                      type: string
                      description: Postal Code A
                      maxLength: 20
                    country:
                      type: integer
                      description: Country A
                    phone:
                      type: string
                      description: |-
                        Phone

                        Will be copied to the household members&#39; Home Phone fields overnight if (a) the member is a student or (b) the member&#39;s Home Phone is not already populated.
                      maxLength: 30
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.households:update'
  /admission/languages:
    post:
      tags:
        - 'Admission: Languages'
      summary: 'Create Admission: Languages'
      operationId: create_admission_languages
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person Language ID
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person ID
                    language:
                      type: integer
                      description: Language
                    is_primary:
                      type: boolean
                      description: Primary Code
                    reading_proficiency:
                      type: integer
                      description: Reading Proficiency
                    writing_proficiency:
                      type: integer
                      description: Writing Proficiency
                    speaking_proficiency:
                      type: integer
                      description: Speaking Proficiency
                    listening_proficiency:
                      type: integer
                      description: Listening Proficiency
                    years_studying:
                      type: integer
                      description: Years Studying
                    spoken_at_home:
                      type: boolean
                      description: Spoken At Home
                    notes:
                      type: string
                      description: Notes
                      maxLength: 255
                  required:
                    - person_id
                    - language
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.languages:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Admission: Languages'
      summary: 'List Admission: Languages'
      operationId: list_admission_languages
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person Language ID
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                        language:
                          type: integer
                          description: Language
                        is_primary:
                          type: boolean
                          description: Primary Code
                        reading_proficiency:
                          type: integer
                          description: Reading Proficiency
                        writing_proficiency:
                          type: integer
                          description: Writing Proficiency
                        speaking_proficiency:
                          type: integer
                          description: Speaking Proficiency
                        listening_proficiency:
                          type: integer
                          description: Listening Proficiency
                        years_studying:
                          type: integer
                          description: Years Studying
                        spoken_at_home:
                          type: boolean
                          description: Spoken At Home
                        notes:
                          type: string
                          description: Notes
                          maxLength: 255
                      required:
                        - id
                        - person_id
                        - language
                        - is_primary
                        - reading_proficiency
                        - writing_proficiency
                        - speaking_proficiency
                        - listening_proficiency
                        - years_studying
                        - spoken_at_home
                        - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - language
                              - reading_proficiency
                              - writing_proficiency
                              - speaking_proficiency
                              - listening_proficiency
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.languages:list'
  '/admission/languages/{id}':
    get:
      tags:
        - 'Admission: Languages'
      summary: 'Read Admission: Languages'
      operationId: read_admission_languages
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person Language ID
                        readOnly: true
                      person_id:
                        type: integer
                        description: Person ID
                      language:
                        type: integer
                        description: Language
                      is_primary:
                        type: boolean
                        description: Primary Code
                      reading_proficiency:
                        type: integer
                        description: Reading Proficiency
                      writing_proficiency:
                        type: integer
                        description: Writing Proficiency
                      speaking_proficiency:
                        type: integer
                        description: Speaking Proficiency
                      listening_proficiency:
                        type: integer
                        description: Listening Proficiency
                      years_studying:
                        type: integer
                        description: Years Studying
                      spoken_at_home:
                        type: boolean
                        description: Spoken At Home
                      notes:
                        type: string
                        description: Notes
                        maxLength: 255
                    required:
                      - id
                      - person_id
                      - language
                      - is_primary
                      - reading_proficiency
                      - writing_proficiency
                      - speaking_proficiency
                      - listening_proficiency
                      - years_studying
                      - spoken_at_home
                      - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - language
                              - reading_proficiency
                              - writing_proficiency
                              - speaking_proficiency
                              - listening_proficiency
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.languages:read'
    parameters:
      - name: id
        in: path
        description: Person Language ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Admission: Languages'
      summary: 'Update Admission: Languages'
      operationId: update_admission_languages
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person Language ID
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person ID
                    language:
                      type: integer
                      description: Language
                    is_primary:
                      type: boolean
                      description: Primary Code
                    reading_proficiency:
                      type: integer
                      description: Reading Proficiency
                    writing_proficiency:
                      type: integer
                      description: Writing Proficiency
                    speaking_proficiency:
                      type: integer
                      description: Speaking Proficiency
                    listening_proficiency:
                      type: integer
                      description: Listening Proficiency
                    years_studying:
                      type: integer
                      description: Years Studying
                    spoken_at_home:
                      type: boolean
                      description: Spoken At Home
                    notes:
                      type: string
                      description: Notes
                      maxLength: 255
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.languages:update'
  '/admission/relatives/{relative_id}/relationships':
    post:
      tags:
        - 'Admission: Relative Relationships'
      summary: 'Create Admission: Relative Relationships'
      operationId: create_admission_relative_relationships
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person Person ID
                      readOnly: true
                    related_person_id:
                      type: integer
                      description: Related Person ID
                    relationship:
                      type: integer
                      description: |-
                        Relationship

                        When background shading is available:

                        Orange: Immediate family, e.g. Husband, Wife, Father, Mother, Brother, Sister, Sibling, Domestic Partner

                        Yellow: Secondary family, e.g. Grandparents, Aunt/Uncle, Cousin

                        Manilla: In-Laws, Exes, Step-child, Step-parent, deceased spouse

                        Gray-Blue: &quot;Unspecified&quot; and &quot;Other&quot;

                        White: All others
                  required:
                    - related_person_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.relatives.relationships:create'
    parameters:
      - name: relative_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Admission: Relative Relationships'
      summary: 'List Admission: Relative Relationships'
      operationId: list_admission_relative_relationships
      parameters:
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person Person ID
                          readOnly: true
                        related_person_id:
                          type: integer
                          description: Related Person ID
                        relationship:
                          type: integer
                          description: |-
                            Relationship

                            When background shading is available:

                            Orange: Immediate family, e.g. Husband, Wife, Father, Mother, Brother, Sister, Sibling, Domestic Partner

                            Yellow: Secondary family, e.g. Grandparents, Aunt/Uncle, Cousin

                            Manilla: In-Laws, Exes, Step-child, Step-parent, deceased spouse

                            Gray-Blue: &quot;Unspecified&quot; and &quot;Other&quot;

                            White: All others
                      required:
                        - id
                        - related_person_id
                        - relationship
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - relationship
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.relatives.relationships:list'
  '/admission/relatives/{relative_id}/relationships/{id}':
    get:
      tags:
        - 'Admission: Relative Relationships'
      summary: 'Read Admission: Relative Relationships'
      operationId: read_admission_relative_relationships
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person Person ID
                        readOnly: true
                      related_person_id:
                        type: integer
                        description: Related Person ID
                      relationship:
                        type: integer
                        description: |-
                          Relationship

                          When background shading is available:

                          Orange: Immediate family, e.g. Husband, Wife, Father, Mother, Brother, Sister, Sibling, Domestic Partner

                          Yellow: Secondary family, e.g. Grandparents, Aunt/Uncle, Cousin

                          Manilla: In-Laws, Exes, Step-child, Step-parent, deceased spouse

                          Gray-Blue: &quot;Unspecified&quot; and &quot;Other&quot;

                          White: All others
                    required:
                      - id
                      - related_person_id
                      - relationship
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - relationship
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.relatives.relationships:read'
    parameters:
      - name: id
        in: path
        description: Person Person ID
        required: true
        schema:
          type: integer
      - name: relative_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Admission: Relative Relationships'
      summary: 'Update Admission: Relative Relationships'
      operationId: update_admission_relative_relationships
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person Person ID
                      readOnly: true
                    related_person_id:
                      type: integer
                      description: Related Person ID
                    relationship:
                      type: integer
                      description: |-
                        Relationship

                        When background shading is available:

                        Orange: Immediate family, e.g. Husband, Wife, Father, Mother, Brother, Sister, Sibling, Domestic Partner

                        Yellow: Secondary family, e.g. Grandparents, Aunt/Uncle, Cousin

                        Manilla: In-Laws, Exes, Step-child, Step-parent, deceased spouse

                        Gray-Blue: &quot;Unspecified&quot; and &quot;Other&quot;

                        White: All others
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.relatives.relationships:update'
  /admission/relatives:
    get:
      tags:
        - 'Admission: Relatives'
      summary: 'List Admission: Relatives'
      operationId: list_admission_relatives
      parameters:
        - name: first_name
          in: query
          description: First Name
          required: false
          schema:
            type: string
            maxLength: 50
        - name: last_name
          in: query
          description: Last Name
          required: false
          schema:
            type: string
            maxLength: 50
        - name: email
          in: query
          description: |-
            Email 1

            This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
          required: false
          schema:
            type: string
            maxLength: 100
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        household_id:
                          type: integer
                          description: Household ID
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        name_prefix:
                          type: integer
                          description: Name Prefix
                        first_name:
                          type: string
                          description: First Name
                          maxLength: 50
                        nick_name:
                          type: string
                          description: Preferred Name
                          maxLength: 50
                        middle_name:
                          type: string
                          description: Middle Name
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name
                          maxLength: 50
                        name_suffix:
                          type: integer
                          description: Name Suffix
                        maiden_name:
                          type: string
                          description: Maiden Name
                          maxLength: 50
                        marital_status:
                          type: integer
                          description: |-
                            Marital Status

                            This field is automatically populated if there is a separate record in the database for this person&#39;s spouse, and a relationship record.
                        gender:
                          type: integer
                          description: Gender
                        pronouns:
                          type: integer
                          description: Pronouns
                        ethnicity:
                          type: integer
                          description: |-
                            Ethnicity (deprecated)

                            Information on handling Special Category data is available at https://www.veracross.com/privacy-policy
                        date_of_birth:
                          type: string
                          format: date
                          description: |-
                            Birthday

                            Birthday in MMM DD YYYY format
                        place_of_birth:
                          type: string
                          description: Place of Birth
                          maxLength: 50
                        date_of_death:
                          type: string
                          format: date
                          description: Date of Death
                        email:
                          type: string
                          description: |-
                            Email 1

                            This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                          maxLength: 100
                        mobile_phone:
                          type: string
                          description: Mobile Phone
                          maxLength: 30
                        work_phone:
                          type: string
                          description: Business Phone
                          maxLength: 30
                        graduation_year:
                          type: integer
                          description: Graduation Year
                      required:
                        - household_id
                        - person_id
                        - name_prefix
                        - first_name
                        - nick_name
                        - middle_name
                        - last_name
                        - name_suffix
                        - maiden_name
                        - marital_status
                        - gender
                        - pronouns
                        - ethnicity
                        - date_of_birth
                        - place_of_birth
                        - date_of_death
                        - email
                        - mobile_phone
                        - work_phone
                        - graduation_year
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - name_prefix
                              - name_suffix
                              - marital_status
                              - gender
                              - pronouns
                              - ethnicity
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.relatives:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    post:
      tags:
        - 'Admission: Relatives'
      summary: 'Create Admission: Relatives'
      operationId: create_admission_relatives
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    household_id:
                      type: integer
                      description: Household ID
                    address_1:
                      type: string
                      description: Address 1
                      maxLength: 200
                    address_2:
                      type: string
                      description: Address 2
                      maxLength: 200
                    address_3:
                      type: string
                      description: Address 3
                      maxLength: 200
                    city:
                      type: string
                      description: City
                      maxLength: 50
                    state:
                      type: string
                      description: State
                      maxLength: 50
                    postal_code:
                      type: string
                      description: Postal Code
                      maxLength: 20
                    country:
                      type: integer
                      description: Country
                    person_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    name_prefix:
                      type: integer
                      description: Name Prefix
                    first_name:
                      type: string
                      description: First Name
                      maxLength: 50
                    middle_name:
                      type: string
                      description: Middle Name
                      maxLength: 50
                    last_name:
                      type: string
                      description: Last Name
                      maxLength: 50
                    name_suffix:
                      type: string
                      description: Name Suffix
                    nick_name:
                      type: string
                      description: Nick Name
                      maxLength: 50
                    maiden_name:
                      type: string
                      description: Maiden Name
                      maxLength: 50
                    marital_status:
                      type: integer
                      description: Marital Status
                    pronouns:
                      type: integer
                      description: Pronouns
                    gender:
                      type: integer
                      description: Gender
                    ethnicity:
                      type: integer
                      description: Ethnicity
                    date_of_birth:
                      type: string
                      format: date
                      description: Date Of Birth
                    place_of_birth:
                      type: string
                      description: Place Of Birth
                      maxLength: 50
                    date_of_death:
                      type: string
                      format: date
                      description: Date Of Death
                    graduation_year:
                      type: integer
                      description: Graduation Year
                    email:
                      type: string
                      description: Email
                      maxLength: 100
                    mobile_phone:
                      type: string
                      description: Phone Mobile
                      maxLength: 30
                    work_phone:
                      type: string
                      description: Phone Work
                      maxLength: 30
                    applicant_id:
                      type: integer
                      description: Applicant ID
                    relationship:
                      type: integer
                      description: Relationship
                    legal_custody:
                      type: boolean
                      description: Legal Custody
                    admissions_access:
                      type: boolean
                      description: Admissions Access
                  required:
                    - household_id
                    - country
                    - name_prefix
                    - last_name
                    - name_suffix
                    - marital_status
                    - pronouns
                    - gender
                    - ethnicity
                    - graduation_year
                    - applicant_id
                    - relationship
                    - legal_custody
                    - admissions_access
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.relatives:create'
  '/admission/relatives/{id}':
    get:
      tags:
        - 'Admission: Relatives'
      summary: 'Read Admission: Relatives'
      operationId: read_admission_relatives
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      household_id:
                        type: integer
                        description: Household ID
                      person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      name_prefix:
                        type: integer
                        description: Name Prefix
                      first_name:
                        type: string
                        description: First Name
                        maxLength: 50
                      nick_name:
                        type: string
                        description: Preferred Name
                        maxLength: 50
                      middle_name:
                        type: string
                        description: Middle Name
                        maxLength: 50
                      last_name:
                        type: string
                        description: Last Name
                        maxLength: 50
                      name_suffix:
                        type: integer
                        description: Name Suffix
                      maiden_name:
                        type: string
                        description: Maiden Name
                        maxLength: 50
                      marital_status:
                        type: integer
                        description: |-
                          Marital Status

                          This field is automatically populated if there is a separate record in the database for this person&#39;s spouse, and a relationship record.
                      gender:
                        type: integer
                        description: Gender
                      pronouns:
                        type: integer
                        description: Pronouns
                      ethnicity:
                        type: integer
                        description: |-
                          Ethnicity (deprecated)

                          Information on handling Special Category data is available at https://www.veracross.com/privacy-policy
                      date_of_birth:
                        type: string
                        format: date
                        description: |-
                          Birthday

                          Birthday in MMM DD YYYY format
                      place_of_birth:
                        type: string
                        description: Place of Birth
                        maxLength: 50
                      date_of_death:
                        type: string
                        format: date
                        description: Date of Death
                      email:
                        type: string
                        description: |-
                          Email 1

                          This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                        maxLength: 100
                      mobile_phone:
                        type: string
                        description: Mobile Phone
                        maxLength: 30
                      work_phone:
                        type: string
                        description: Business Phone
                        maxLength: 30
                      graduation_year:
                        type: integer
                        description: Graduation Year
                    required:
                      - household_id
                      - person_id
                      - name_prefix
                      - first_name
                      - nick_name
                      - middle_name
                      - last_name
                      - name_suffix
                      - maiden_name
                      - marital_status
                      - gender
                      - pronouns
                      - ethnicity
                      - date_of_birth
                      - place_of_birth
                      - date_of_death
                      - email
                      - mobile_phone
                      - work_phone
                      - graduation_year
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - name_prefix
                              - name_suffix
                              - marital_status
                              - gender
                              - pronouns
                              - ethnicity
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.relatives:read'
    parameters:
      - name: id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Admission: Relatives'
      summary: 'Update Admission: Relatives'
      operationId: update_admission_relatives
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    household_id:
                      type: integer
                      description: Household ID
                    person_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    name_prefix:
                      type: integer
                      description: Name Prefix
                    first_name:
                      type: string
                      description: First Name
                      maxLength: 50
                    nick_name:
                      type: string
                      description: Preferred Name
                      maxLength: 50
                    middle_name:
                      type: string
                      description: Middle Name
                      maxLength: 50
                    last_name:
                      type: string
                      description: Last Name
                      maxLength: 50
                    name_suffix:
                      type: integer
                      description: Name Suffix
                    maiden_name:
                      type: string
                      description: Maiden Name
                      maxLength: 50
                    marital_status:
                      type: integer
                      description: |-
                        Marital Status

                        This field is automatically populated if there is a separate record in the database for this person&#39;s spouse, and a relationship record.
                    gender:
                      type: integer
                      description: Gender
                    pronouns:
                      type: integer
                      description: Pronouns
                    ethnicity:
                      type: integer
                      description: |-
                        Ethnicity (deprecated)

                        Information on handling Special Category data is available at https://www.veracross.com/privacy-policy
                    date_of_birth:
                      type: string
                      format: date
                      description: |-
                        Birthday

                        Birthday in MMM DD YYYY format
                    place_of_birth:
                      type: string
                      description: Place of Birth
                      maxLength: 50
                    date_of_death:
                      type: string
                      format: date
                      description: Date of Death
                    email:
                      type: string
                      description: |-
                        Email 1

                        This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                      maxLength: 100
                    mobile_phone:
                      type: string
                      description: Mobile Phone
                      maxLength: 30
                    work_phone:
                      type: string
                      description: Business Phone
                      maxLength: 30
                    graduation_year:
                      type: integer
                      description: Graduation Year
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'admission.relatives:update'
  /alumni/demographics:
    get:
      tags:
        - 'Alumni: Demographics'
      summary: 'List Alumni: Demographics'
      operationId: list_alumni_demographics
      parameters:
        - name: first_name
          in: query
          description: First Name
          required: false
          schema:
            type: string
            maxLength: 50
        - name: last_name
          in: query
          description: Last Name
          required: false
          schema:
            type: string
            maxLength: 50
        - name: maiden_name
          in: query
          description: Maiden Name
          required: false
          schema:
            type: string
            maxLength: 50
        - name: graduation_year
          in: query
          description: Graduation Year
          required: false
          schema:
            type: integer
        - name: first_year_enrolled
          in: query
          description: |-
            First Year Enrolled

            This is a calculated value, showing the first school year registered among the Enrollment History records showing  student&#39;s Enr History tab.
          required: false
          schema:
            type: integer
        - name: first_grade_enrolled_at
          in: query
          description: First Grade Enrolled At
          required: false
          schema:
            type: integer
        - name: last_year_enrolled
          in: query
          description: |-
            Last Year Enrolled

            The school year on the most recent enrollment record that has either the EN: Newly Enrolled or the RE: Re-Enrolled status.
          required: false
          schema:
            type: integer
        - name: last_grade_enrolled_at
          in: query
          description: Last Grade Enrolled At
          required: false
          schema:
            type: integer
        - name: on_or_after_entry_date
          in: query
          description: |-
            Entry Date

            This is the original date on which the student started school. Should be the first day of the school year for new students, or a date during the school year for mid-year enrollees.
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_entry_date
          in: query
          description: |-
            Entry Date

            This is the original date on which the student started school. Should be the first day of the school year for new students, or a date during the school year for mid-year enrollees.
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_exit_date
          in: query
          description: |-
            Exit Date

            The last day the student was in school. Should be either the last day of the school year, or last day the student was in class.
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_exit_date
          in: query
          description: |-
            Exit Date

            The last day the student was in school. Should be either the last day of the school year, or last day the student was in class.
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        household_id:
                          type: integer
                          description: Household ID
                          readOnly: true
                        name_prefix:
                          type: string
                          description: Description
                          readOnly: true
                        first_name:
                          type: string
                          description: First Name
                          maxLength: 50
                        middle_name:
                          type: string
                          description: Middle Name
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name
                          maxLength: 50
                        maiden_name:
                          type: string
                          description: Maiden Name
                          maxLength: 50
                        name_suffix:
                          type: string
                          description: Description
                          readOnly: true
                        gender:
                          type: integer
                          description: Gender
                        entry_date:
                          type: string
                          format: date
                          description: |-
                            Entry Date

                            This is the original date on which the student started school. Should be the first day of the school year for new students, or a date during the school year for mid-year enrollees.
                        exit_date:
                          type: string
                          format: date
                          description: |-
                            Exit Date

                            The last day the student was in school. Should be either the last day of the school year, or last day the student was in class.
                        graduation_year:
                          type: integer
                          description: Graduation Year
                        years_enrolled:
                          type: number
                          description: |-
                            Years Enrolled

                            The number of years this student has been enrolled
                          readOnly: true
                        first_year_enrolled:
                          type: integer
                          description: |-
                            First Year Enrolled

                            This is a calculated value, showing the first school year registered among the Enrollment History records showing  student&#39;s Enr History tab.
                          readOnly: true
                        first_grade_enrolled_at:
                          type: integer
                          description: First Grade Enrolled At
                          readOnly: true
                        last_year_enrolled:
                          type: integer
                          description: |-
                            Last Year Enrolled

                            The school year on the most recent enrollment record that has either the EN: Newly Enrolled or the RE: Re-Enrolled status.
                          readOnly: true
                        last_grade_enrolled_at:
                          type: integer
                          description: Last Grade Enrolled At
                          readOnly: true
                      required:
                        - id
                        - household_id
                        - name_prefix
                        - first_name
                        - middle_name
                        - last_name
                        - maiden_name
                        - name_suffix
                        - gender
                        - entry_date
                        - exit_date
                        - graduation_year
                        - years_enrolled
                        - first_year_enrolled
                        - first_grade_enrolled_at
                        - last_year_enrolled
                        - last_grade_enrolled_at
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - gender
                              - first_year_enrolled
                              - first_grade_enrolled_at
                              - last_year_enrolled
                              - last_grade_enrolled_at
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'alumni.demographics:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/alumni/demographics/{id}':
    get:
      tags:
        - 'Alumni: Demographics'
      summary: 'Read Alumni: Demographics'
      operationId: read_alumni_demographics
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      household_id:
                        type: integer
                        description: Household ID
                        readOnly: true
                      name_prefix:
                        type: string
                        description: Description
                        readOnly: true
                      first_name:
                        type: string
                        description: First Name
                        maxLength: 50
                      middle_name:
                        type: string
                        description: Middle Name
                        maxLength: 50
                      last_name:
                        type: string
                        description: Last Name
                        maxLength: 50
                      maiden_name:
                        type: string
                        description: Maiden Name
                        maxLength: 50
                      name_suffix:
                        type: string
                        description: Description
                        readOnly: true
                      gender:
                        type: integer
                        description: Gender
                      entry_date:
                        type: string
                        format: date
                        description: |-
                          Entry Date

                          This is the original date on which the student started school. Should be the first day of the school year for new students, or a date during the school year for mid-year enrollees.
                      exit_date:
                        type: string
                        format: date
                        description: |-
                          Exit Date

                          The last day the student was in school. Should be either the last day of the school year, or last day the student was in class.
                      graduation_year:
                        type: integer
                        description: Graduation Year
                      years_enrolled:
                        type: number
                        description: |-
                          Years Enrolled

                          The number of years this student has been enrolled
                        readOnly: true
                      first_year_enrolled:
                        type: integer
                        description: |-
                          First Year Enrolled

                          This is a calculated value, showing the first school year registered among the Enrollment History records showing  student&#39;s Enr History tab.
                        readOnly: true
                      first_grade_enrolled_at:
                        type: integer
                        description: First Grade Enrolled At
                        readOnly: true
                      last_year_enrolled:
                        type: integer
                        description: |-
                          Last Year Enrolled

                          The school year on the most recent enrollment record that has either the EN: Newly Enrolled or the RE: Re-Enrolled status.
                        readOnly: true
                      last_grade_enrolled_at:
                        type: integer
                        description: Last Grade Enrolled At
                        readOnly: true
                    required:
                      - id
                      - household_id
                      - name_prefix
                      - first_name
                      - middle_name
                      - last_name
                      - maiden_name
                      - name_suffix
                      - gender
                      - entry_date
                      - exit_date
                      - graduation_year
                      - years_enrolled
                      - first_year_enrolled
                      - first_grade_enrolled_at
                      - last_year_enrolled
                      - last_grade_enrolled_at
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - gender
                              - first_year_enrolled
                              - first_grade_enrolled_at
                              - last_year_enrolled
                              - last_grade_enrolled_at
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'alumni.demographics:read'
    parameters:
      - name: id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /athletics/rosters:
    post:
      tags:
        - 'Athletics: Rosters'
      summary: 'Create Athletics: Rosters'
      operationId: create_athletics_rosters
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Enrollment ID
                      readOnly: true
                    internal_class_id:
                      type: integer
                      description: Internal Class ID
                    person_id:
                      type: integer
                      description: Person ID
                    first_name:
                      type: string
                      description: First Name
                      maxLength: 50
                    last_name:
                      type: string
                      description: Last Name
                      maxLength: 50
                    suffix:
                      type: integer
                      description: Name Suffix
                    grade_level_id:
                      type: integer
                      description: Grade Level
                    currently_enrolled:
                      type: boolean
                      description: |-
                        Currently Enrolled

                        A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                        For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                    late_date_enrolled:
                      type: string
                      format: date
                      description: |-
                        Late Date Enrolled

                        The date the student enrolled in the class
                    date_withdrawn:
                      type: string
                      format: date
                      description: |-
                        Date Withdrawn

                        The date the student withdrew from the class
                    level:
                      type: integer
                      description: |-
                        Enrollment Level

                        The enrollment level is used when some students are taking the class for a different level of credit than other students. If all students are taking the course for the same level of credit, setting the enrollment level is NOT necessary. If the student&#39;s enrollment level should influence GPA, please review &quot;override grade conversion scale&quot; on the student&#39;s class enrollment record.
                    jersey_size:
                      type: integer
                      description: Jersey Size
                    jersey_number:
                      type: string
                      description: 'Jersey #'
                      maxLength: 3
                    position:
                      type: string
                      description: Position
                      maxLength: 20
                    height:
                      type: string
                      description: Height
                      maxLength: 8
                    weight:
                      type: string
                      description: Weight
                      maxLength: 10
                    captain:
                      type: boolean
                      description: Captain
                    lettered:
                      type: boolean
                      description: Lettered
                    exclude_from_transcript:
                      type: boolean
                      description: |-
                        Exclude From Transcript

                        Excludes posted grades for this enrollment from being posted to the transcript.  Selecting this option does NOT impact this student&#39;s GPA.
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
                  required:
                    - internal_class_id
                    - person_id
                    - last_name
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'athletics.rosters:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Athletics: Rosters'
      summary: 'List Athletics: Rosters'
      operationId: list_athletics_rosters
      parameters:
        - name: internal_class_id
          in: query
          description: Internal Class ID
          required: false
          schema:
            type: integer
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: exclude_from_transcript
          in: query
          description: |-
            Exclude From Transcript

            Excludes posted grades for this enrollment from being posted to the transcript.  Selecting this option does NOT impact this student&#39;s GPA.
          required: false
          schema:
            type: boolean
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: sport
          in: query
          description: Sport
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Enrollment ID
                          readOnly: true
                        internal_class_id:
                          type: integer
                          description: Internal Class ID
                        person_id:
                          type: integer
                          description: Person ID
                        first_name:
                          type: string
                          description: First Name
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name
                          maxLength: 50
                        suffix:
                          type: integer
                          description: Name Suffix
                        grade_level_id:
                          type: integer
                          description: Grade Level
                        currently_enrolled:
                          type: boolean
                          description: |-
                            Currently Enrolled

                            A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                            For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                        late_date_enrolled:
                          type: string
                          format: date
                          description: |-
                            Late Date Enrolled

                            The date the student enrolled in the class
                        date_withdrawn:
                          type: string
                          format: date
                          description: |-
                            Date Withdrawn

                            The date the student withdrew from the class
                        level:
                          type: integer
                          description: |-
                            Enrollment Level

                            The enrollment level is used when some students are taking the class for a different level of credit than other students. If all students are taking the course for the same level of credit, setting the enrollment level is NOT necessary. If the student&#39;s enrollment level should influence GPA, please review &quot;override grade conversion scale&quot; on the student&#39;s class enrollment record.
                        jersey_size:
                          type: integer
                          description: Jersey Size
                        jersey_number:
                          type: string
                          description: 'Jersey #'
                          maxLength: 3
                        position:
                          type: string
                          description: Position
                          maxLength: 20
                        height:
                          type: string
                          description: Height
                          maxLength: 8
                        weight:
                          type: string
                          description: Weight
                          maxLength: 10
                        captain:
                          type: boolean
                          description: Captain
                        lettered:
                          type: boolean
                          description: Lettered
                        exclude_from_transcript:
                          type: boolean
                          description: |-
                            Exclude From Transcript

                            Excludes posted grades for this enrollment from being posted to the transcript.  Selecting this option does NOT impact this student&#39;s GPA.
                        notes:
                          type: string
                          description: Notes
                          maxLength: 1000
                      required:
                        - id
                        - internal_class_id
                        - person_id
                        - first_name
                        - last_name
                        - suffix
                        - grade_level_id
                        - currently_enrolled
                        - late_date_enrolled
                        - date_withdrawn
                        - level
                        - jersey_size
                        - jersey_number
                        - position
                        - height
                        - weight
                        - captain
                        - lettered
                        - exclude_from_transcript
                        - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - suffix
                              - grade_level_id
                              - level
                              - jersey_size
                              - school_year
                              - sport
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'athletics.rosters:list'
  '/athletics/rosters/{id}':
    get:
      tags:
        - 'Athletics: Rosters'
      summary: 'Read Athletics: Rosters'
      operationId: read_athletics_rosters
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Enrollment ID
                        readOnly: true
                      internal_class_id:
                        type: integer
                        description: Internal Class ID
                      person_id:
                        type: integer
                        description: Person ID
                      first_name:
                        type: string
                        description: First Name
                        maxLength: 50
                      last_name:
                        type: string
                        description: Last Name
                        maxLength: 50
                      suffix:
                        type: integer
                        description: Name Suffix
                      grade_level_id:
                        type: integer
                        description: Grade Level
                      currently_enrolled:
                        type: boolean
                        description: |-
                          Currently Enrolled

                          A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                          For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                      late_date_enrolled:
                        type: string
                        format: date
                        description: |-
                          Late Date Enrolled

                          The date the student enrolled in the class
                      date_withdrawn:
                        type: string
                        format: date
                        description: |-
                          Date Withdrawn

                          The date the student withdrew from the class
                      level:
                        type: integer
                        description: |-
                          Enrollment Level

                          The enrollment level is used when some students are taking the class for a different level of credit than other students. If all students are taking the course for the same level of credit, setting the enrollment level is NOT necessary. If the student&#39;s enrollment level should influence GPA, please review &quot;override grade conversion scale&quot; on the student&#39;s class enrollment record.
                      jersey_size:
                        type: integer
                        description: Jersey Size
                      jersey_number:
                        type: string
                        description: 'Jersey #'
                        maxLength: 3
                      position:
                        type: string
                        description: Position
                        maxLength: 20
                      height:
                        type: string
                        description: Height
                        maxLength: 8
                      weight:
                        type: string
                        description: Weight
                        maxLength: 10
                      captain:
                        type: boolean
                        description: Captain
                      lettered:
                        type: boolean
                        description: Lettered
                      exclude_from_transcript:
                        type: boolean
                        description: |-
                          Exclude From Transcript

                          Excludes posted grades for this enrollment from being posted to the transcript.  Selecting this option does NOT impact this student&#39;s GPA.
                      notes:
                        type: string
                        description: Notes
                        maxLength: 1000
                    required:
                      - id
                      - internal_class_id
                      - person_id
                      - first_name
                      - last_name
                      - suffix
                      - grade_level_id
                      - currently_enrolled
                      - late_date_enrolled
                      - date_withdrawn
                      - level
                      - jersey_size
                      - jersey_number
                      - position
                      - height
                      - weight
                      - captain
                      - lettered
                      - exclude_from_transcript
                      - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - suffix
                              - grade_level_id
                              - level
                              - jersey_size
                              - school_year
                              - sport
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'athletics.rosters:read'
    parameters:
      - name: id
        in: path
        description: Enrollment ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Athletics: Rosters'
      summary: 'Update Athletics: Rosters'
      operationId: update_athletics_rosters
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Enrollment ID
                      readOnly: true
                    internal_class_id:
                      type: integer
                      description: Internal Class ID
                    person_id:
                      type: integer
                      description: Person ID
                    first_name:
                      type: string
                      description: First Name
                      maxLength: 50
                    last_name:
                      type: string
                      description: Last Name
                      maxLength: 50
                    suffix:
                      type: integer
                      description: Name Suffix
                    grade_level_id:
                      type: integer
                      description: Grade Level
                    currently_enrolled:
                      type: boolean
                      description: |-
                        Currently Enrolled

                        A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                        For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                    late_date_enrolled:
                      type: string
                      format: date
                      description: |-
                        Late Date Enrolled

                        The date the student enrolled in the class
                    date_withdrawn:
                      type: string
                      format: date
                      description: |-
                        Date Withdrawn

                        The date the student withdrew from the class
                    level:
                      type: integer
                      description: |-
                        Enrollment Level

                        The enrollment level is used when some students are taking the class for a different level of credit than other students. If all students are taking the course for the same level of credit, setting the enrollment level is NOT necessary. If the student&#39;s enrollment level should influence GPA, please review &quot;override grade conversion scale&quot; on the student&#39;s class enrollment record.
                    jersey_size:
                      type: integer
                      description: Jersey Size
                    jersey_number:
                      type: string
                      description: 'Jersey #'
                      maxLength: 3
                    position:
                      type: string
                      description: Position
                      maxLength: 20
                    height:
                      type: string
                      description: Height
                      maxLength: 8
                    weight:
                      type: string
                      description: Weight
                      maxLength: 10
                    captain:
                      type: boolean
                      description: Captain
                    lettered:
                      type: boolean
                      description: Lettered
                    exclude_from_transcript:
                      type: boolean
                      description: |-
                        Exclude From Transcript

                        Excludes posted grades for this enrollment from being posted to the transcript.  Selecting this option does NOT impact this student&#39;s GPA.
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'athletics.rosters:update'
  /athletics/sports:
    get:
      tags:
        - 'Athletics: Sports'
      summary: 'List Athletics: Sports'
      operationId: list_athletics_sports
      parameters:
        - name: school_level
          in: query
          description: Description
          required: false
          schema:
            type: string
            maxLength: 50
        - name: gender
          in: query
          description: Gender
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Internal Course ID
                          readOnly: true
                        description:
                          type: string
                          description: Course Name
                          maxLength: 100
                        abbreviation:
                          type: string
                          description: Course ID
                          maxLength: 15
                        school_level:
                          type: string
                          description: Description
                          maxLength: 50
                        gender:
                          type: integer
                          description: Gender
                        subject_id:
                          type: integer
                          description: Subject ID
                        subject_description:
                          type: string
                          description: Description
                          maxLength: 50
                      required:
                        - id
                        - description
                        - abbreviation
                        - school_level
                        - gender
                        - subject_id
                        - subject_description
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - gender
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'athletics.sports:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    post:
      tags:
        - 'Athletics: Sports'
      summary: 'Create Athletics: Sports'
      operationId: create_athletics_sports
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    description:
                      type: string
                      description: Description
                      maxLength: 100
                    abbreviation:
                      type: string
                      description: Course ID
                      maxLength: 15
                    gender:
                      type: integer
                      description: Gender
                    subject_id:
                      type: integer
                      description: Subject
                  required:
                    - description
                    - gender
                    - subject_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'athletics.sports:create'
  '/athletics/sports/{id}':
    get:
      tags:
        - 'Athletics: Sports'
      summary: 'Read Athletics: Sports'
      operationId: read_athletics_sports
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Internal Course ID
                        readOnly: true
                      description:
                        type: string
                        description: Course Name
                        maxLength: 100
                      abbreviation:
                        type: string
                        description: Course ID
                        maxLength: 15
                      school_level:
                        type: string
                        description: Description
                        maxLength: 50
                      gender:
                        type: integer
                        description: Gender
                      subject_id:
                        type: integer
                        description: Subject ID
                      subject_description:
                        type: string
                        description: Description
                        maxLength: 50
                    required:
                      - id
                      - description
                      - abbreviation
                      - school_level
                      - gender
                      - subject_id
                      - subject_description
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - gender
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'athletics.sports:read'
    parameters:
      - name: id
        in: path
        description: Internal Course ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Athletics: Sports'
      summary: 'Update Athletics: Sports'
      operationId: update_athletics_sports
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Internal Course ID
                      readOnly: true
                    description:
                      type: string
                      description: Course Name
                      maxLength: 100
                    abbreviation:
                      type: string
                      description: Course ID
                      maxLength: 15
                    school_level:
                      type: string
                      description: Description
                      maxLength: 50
                    gender:
                      type: integer
                      description: Gender
                    subject_id:
                      type: integer
                      description: Subject ID
                    subject_description:
                      type: string
                      description: Description
                      maxLength: 50
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'athletics.sports:update'
  '/athletics/team/{id}/practice_schedules':
    get:
      tags:
        - 'Athletics: Team Practice Schedules'
      summary: 'List Athletics: Team Practice Schedules'
      operationId: list_athletics_team_practice_schedules
      parameters:
        - name: on_or_before_start_date
          in: query
          description: Start Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_start_date
          in: query
          description: Start Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_end_date
          in: query
          description: End Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_end_date
          in: query
          description: End Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_start_time
          in: query
          description: Start Time
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_start_time
          in: query
          description: Start Time
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_end_time
          in: query
          description: End Time
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_end_time
          in: query
          description: End Time
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        event_id:
                          type: integer
                          description: Event ID
                        description:
                          type: string
                          description: Description
                          maxLength: 500
                        event_type:
                          type: integer
                          description: Event Type
                        resource_id:
                          type: integer
                          description: Resource ID
                        location:
                          type: string
                          description: Location
                          maxLength: 255
                        start_date:
                          type: string
                          format: date
                          description: Start Date
                        end_date:
                          type: string
                          format: date
                          description: End Date
                        start_time:
                          type: string
                          format: date-time
                          description: Start Time
                        end_time:
                          type: string
                          format: date-time
                          description: End Time
                      required:
                        - id
                        - event_id
                        - description
                        - event_type
                        - resource_id
                        - location
                        - start_date
                        - end_date
                        - start_time
                        - end_time
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - event_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'athletics.team.practice_schedules:list'
    parameters:
      - name: id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /athletics/teams:
    post:
      tags:
        - 'Athletics: Teams'
      summary: 'Create Athletics: Teams'
      operationId: create_athletics_teams
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    internal_class_id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    school_level:
                      type: integer
                      description: School Level
                    campus_id:
                      type: integer
                      description: Campus
                    internal_sport_id:
                      type: integer
                      description: Sport ID
                    team_id:
                      type: string
                      description: Team ID
                      maxLength: 20
                    description:
                      type: string
                      description: Description
                      maxLength: 80
                    sport_id:
                      type: integer
                      description: Sport
                    head_coach_id:
                      type: integer
                      description: Coach ID
                    assistant_coach_id:
                      type: integer
                      description: Assistant Coach ID
                    begin_date:
                      type: string
                      format: date
                      description: Begin Date
                    end_date:
                      type: string
                      format: date
                      description: End Date
                    overall_record:
                      type: string
                      description: Overall Record
                      readOnly: true
                    internal_team_id:
                      type: integer
                      description: System Group ID
                  required:
                    - internal_sport_id
                    - team_id
                    - description
                    - sport_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'athletics.teams:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Athletics: Teams'
      summary: 'List Athletics: Teams'
      operationId: list_athletics_teams
      parameters:
        - name: school_level
          in: query
          description: School Level
          required: false
          schema:
            type: integer
        - name: campus_id
          in: query
          description: Campus
          required: false
          schema:
            type: integer
        - name: internal_sport_id
          in: query
          description: Sport ID
          required: false
          schema:
            type: integer
        - name: head_coach_id
          in: query
          description: Coach ID
          required: false
          schema:
            type: integer
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        internal_class_id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        school_level:
                          type: integer
                          description: School Level
                        campus_id:
                          type: integer
                          description: Campus
                        internal_sport_id:
                          type: integer
                          description: Sport ID
                        team_id:
                          type: string
                          description: Team ID
                          maxLength: 20
                        description:
                          type: string
                          description: Description
                          maxLength: 80
                        sport_id:
                          type: integer
                          description: Sport
                        head_coach_id:
                          type: integer
                          description: Coach ID
                        assistant_coach_id:
                          type: integer
                          description: Assistant Coach ID
                        begin_date:
                          type: string
                          format: date
                          description: Begin Date
                        end_date:
                          type: string
                          format: date
                          description: End Date
                        overall_record:
                          type: string
                          description: Overall Record
                          readOnly: true
                        internal_team_id:
                          type: integer
                          description: System Group ID
                      required:
                        - internal_class_id
                        - school_level
                        - campus_id
                        - internal_sport_id
                        - team_id
                        - description
                        - sport_id
                        - head_coach_id
                        - assistant_coach_id
                        - begin_date
                        - end_date
                        - overall_record
                        - internal_team_id
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - school_level
                              - campus_id
                              - sport_id
                              - School Year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'athletics.teams:list'
  '/athletics/teams/{id}':
    get:
      tags:
        - 'Athletics: Teams'
      summary: 'Read Athletics: Teams'
      operationId: read_athletics_teams
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      internal_class_id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      school_level:
                        type: integer
                        description: School Level
                      campus_id:
                        type: integer
                        description: Campus
                      internal_sport_id:
                        type: integer
                        description: Sport ID
                      team_id:
                        type: string
                        description: Team ID
                        maxLength: 20
                      description:
                        type: string
                        description: Description
                        maxLength: 80
                      sport_id:
                        type: integer
                        description: Sport
                      head_coach_id:
                        type: integer
                        description: Coach ID
                      assistant_coach_id:
                        type: integer
                        description: Assistant Coach ID
                      begin_date:
                        type: string
                        format: date
                        description: Begin Date
                      end_date:
                        type: string
                        format: date
                        description: End Date
                      overall_record:
                        type: string
                        description: Overall Record
                        readOnly: true
                      internal_team_id:
                        type: integer
                        description: System Group ID
                    required:
                      - internal_class_id
                      - school_level
                      - campus_id
                      - internal_sport_id
                      - team_id
                      - description
                      - sport_id
                      - head_coach_id
                      - assistant_coach_id
                      - begin_date
                      - end_date
                      - overall_record
                      - internal_team_id
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - school_level
                              - campus_id
                              - sport_id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'athletics.teams:read'
    parameters:
      - name: id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Athletics: Teams'
      summary: 'Update Athletics: Teams'
      operationId: update_athletics_teams
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    internal_class_id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    school_level:
                      type: integer
                      description: School Level
                    campus_id:
                      type: integer
                      description: Campus
                    internal_sport_id:
                      type: integer
                      description: Sport ID
                    team_id:
                      type: string
                      description: Team ID
                      maxLength: 20
                    description:
                      type: string
                      description: Description
                      maxLength: 80
                    sport_id:
                      type: integer
                      description: Sport
                    head_coach_id:
                      type: integer
                      description: Coach ID
                    assistant_coach_id:
                      type: integer
                      description: Assistant Coach ID
                    begin_date:
                      type: string
                      format: date
                      description: Begin Date
                    end_date:
                      type: string
                      format: date
                      description: End Date
                    overall_record:
                      type: string
                      description: Overall Record
                      readOnly: true
                    internal_team_id:
                      type: integer
                      description: System Group ID
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'athletics.teams:update'
  /attendance_status_codes:
    get:
      tags:
        - Attendance Status Codes
      summary: List Attendance Status Codes
      operationId: list_attendance_status_codes
      parameters:
        - name: attendance_category
          in: query
          description: Attendance Category
          required: false
          schema:
            type: integer
        - name: excused
          in: query
          description: Excused
          required: false
          schema:
            type: boolean
        - name: allow_teacher_entry
          in: query
          description: |-
            Allow Teacher Entry

            Adjusts visibility of the status in the dropdown on the class attendance tab in the teacher portals.
          required: false
          schema:
            type: boolean
        - name: include_on_reports
          in: query
          description: Include On Reports
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 50
                        attendance_category:
                          type: integer
                          description: Attendance Category
                        excused:
                          type: boolean
                          description: Excused
                        allow_teacher_entry:
                          type: boolean
                          description: |-
                            Allow Teacher Entry

                            Adjusts visibility of the status in the dropdown on the class attendance tab in the teacher portals.
                        include_on_reports:
                          type: boolean
                          description: Include On Reports
                        sort_key:
                          type: integer
                          description: Sort Key
                        keyboard_shortcut:
                          type: string
                          description: Keyboard Shortcut
                          maxLength: 1
                      required:
                        - id
                        - description
                        - attendance_category
                        - excused
                        - allow_teacher_entry
                        - include_on_reports
                        - sort_key
                        - keyboard_shortcut
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - attendance_category
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'attendance_status_codes:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  /behavior:
    post:
      tags:
        - Behavior
      summary: Create Behavior
      operationId: create_behavior
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Behavior ID
                      readOnly: true
                    incident_date:
                      type: string
                      format: date
                      description: Incident Date
                    on_or_before_incident_date:
                      type: string
                      format: date
                      description: Incident Date
                    on_or_after_incident_date:
                      type: string
                      format: date
                      description: Incident Date
                    incident_type:
                      type: integer
                      description: Incident Type
                    student_id:
                      type: integer
                      description: Student ID
                    reporting_person_id:
                      type: integer
                      description: Reporting Person ID
                    assigned_to_person_id:
                      type: integer
                      description: Assigned To Person ID
                    internal_class_id:
                      type: integer
                      description: Class ID
                    class_name:
                      type: string
                      description: Description
                      maxLength: 80
                    incident_notes:
                      type: string
                      description: |-
                        Incident Notes

                        Incident notes are for internal use and not visible to parents or students unless included in the email notification template.&#39; Email Template merge variable: {incident_notes}
                    behavior_points:
                      type: integer
                      description: Behavior Points
                      readOnly: true
                    status:
                      type: integer
                      description: Status
                    status_date:
                      type: string
                      format: date
                      description: Status Date
                    outcome_type:
                      type: integer
                      description: Outcome Type
                    outcome_date:
                      type: string
                      format: date
                      description: Outcome Date
                    outcome_notes:
                      type: string
                      description: |-
                        Outcome Notes

                        Outcome notes are for internal use and not visible to parents or students unless included in the email notification template. Email Template merge variable: {outcome_notes}
                    follow_up_status:
                      type: integer
                      description: Follow Up Status
                    follow_up_status_date:
                      type: string
                      format: date
                      description: Follow Up Status Date
                    last_modified_date:
                      type: string
                      format: date
                      description: Update Date
                  required:
                    - student_id
                    - class_name
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'behavior:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - Behavior
      summary: List Behavior
      operationId: list_behavior
      parameters:
        - name: on_or_after_incident_date
          in: query
          description: Incident Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_incident_date
          in: query
          description: Incident Date
          required: false
          schema:
            type: string
            format: date
        - name: incident_type
          in: query
          description: Incident Type
          required: false
          schema:
            type: integer
        - name: student_id
          in: query
          description: Student ID
          required: false
          schema:
            type: integer
        - name: reporting_person_id
          in: query
          description: Reporting Person ID
          required: false
          schema:
            type: integer
        - name: assigned_to_person_id
          in: query
          description: Assigned To Person ID
          required: false
          schema:
            type: integer
        - name: internal_class_id
          in: query
          description: Class ID
          required: false
          schema:
            type: integer
        - name: status
          in: query
          description: Status
          required: false
          schema:
            type: integer
        - name: outcome_type
          in: query
          description: Outcome Type
          required: false
          schema:
            type: integer
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: grading_period
          in: query
          description: Grading Period
          required: false
          schema:
            type: integer
        - name: on_or_before_last_modified_date
          in: query
          description: Update Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_last_modified_date
          in: query
          description: Update Date
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Behavior ID
                          readOnly: true
                        incident_date:
                          type: string
                          format: date
                          description: Incident Date
                        on_or_before_incident_date:
                          type: string
                          format: date
                          description: Incident Date
                        on_or_after_incident_date:
                          type: string
                          format: date
                          description: Incident Date
                        incident_type:
                          type: integer
                          description: Incident Type
                        student_id:
                          type: integer
                          description: Student ID
                        reporting_person_id:
                          type: integer
                          description: Reporting Person ID
                        assigned_to_person_id:
                          type: integer
                          description: Assigned To Person ID
                        internal_class_id:
                          type: integer
                          description: Class ID
                        class_name:
                          type: string
                          description: Description
                          maxLength: 80
                        incident_notes:
                          type: string
                          description: |-
                            Incident Notes

                            Incident notes are for internal use and not visible to parents or students unless included in the email notification template.&#39; Email Template merge variable: {incident_notes}
                        behavior_points:
                          type: integer
                          description: Behavior Points
                          readOnly: true
                        status:
                          type: integer
                          description: Status
                        status_date:
                          type: string
                          format: date
                          description: Status Date
                        outcome_type:
                          type: integer
                          description: Outcome Type
                        outcome_date:
                          type: string
                          format: date
                          description: Outcome Date
                        outcome_notes:
                          type: string
                          description: |-
                            Outcome Notes

                            Outcome notes are for internal use and not visible to parents or students unless included in the email notification template. Email Template merge variable: {outcome_notes}
                        follow_up_status:
                          type: integer
                          description: Follow Up Status
                        follow_up_status_date:
                          type: string
                          format: date
                          description: Follow Up Status Date
                        last_modified_date:
                          type: string
                          format: date
                          description: Update Date
                      required:
                        - id
                        - incident_date
                        - on_or_before_incident_date
                        - on_or_after_incident_date
                        - incident_type
                        - student_id
                        - reporting_person_id
                        - assigned_to_person_id
                        - internal_class_id
                        - class_name
                        - incident_notes
                        - behavior_points
                        - status
                        - status_date
                        - outcome_type
                        - outcome_date
                        - outcome_notes
                        - follow_up_status
                        - follow_up_status_date
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - incident_type
                              - status
                              - outcome_type
                              - follow_up_status
                              - school_year
                              - grading_period
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'behavior:list'
  '/behavior/{id}':
    get:
      tags:
        - Behavior
      summary: Read Behavior
      operationId: read_behavior
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Behavior ID
                        readOnly: true
                      incident_date:
                        type: string
                        format: date
                        description: Incident Date
                      on_or_before_incident_date:
                        type: string
                        format: date
                        description: Incident Date
                      on_or_after_incident_date:
                        type: string
                        format: date
                        description: Incident Date
                      incident_type:
                        type: integer
                        description: Incident Type
                      student_id:
                        type: integer
                        description: Student ID
                      reporting_person_id:
                        type: integer
                        description: Reporting Person ID
                      assigned_to_person_id:
                        type: integer
                        description: Assigned To Person ID
                      internal_class_id:
                        type: integer
                        description: Class ID
                      class_name:
                        type: string
                        description: Description
                        maxLength: 80
                      incident_notes:
                        type: string
                        description: |-
                          Incident Notes

                          Incident notes are for internal use and not visible to parents or students unless included in the email notification template.&#39; Email Template merge variable: {incident_notes}
                      behavior_points:
                        type: integer
                        description: Behavior Points
                        readOnly: true
                      status:
                        type: integer
                        description: Status
                      status_date:
                        type: string
                        format: date
                        description: Status Date
                      outcome_type:
                        type: integer
                        description: Outcome Type
                      outcome_date:
                        type: string
                        format: date
                        description: Outcome Date
                      outcome_notes:
                        type: string
                        description: |-
                          Outcome Notes

                          Outcome notes are for internal use and not visible to parents or students unless included in the email notification template. Email Template merge variable: {outcome_notes}
                      follow_up_status:
                        type: integer
                        description: Follow Up Status
                      follow_up_status_date:
                        type: string
                        format: date
                        description: Follow Up Status Date
                      last_modified_date:
                        type: string
                        format: date
                        description: Update Date
                    required:
                      - id
                      - incident_date
                      - on_or_before_incident_date
                      - on_or_after_incident_date
                      - incident_type
                      - student_id
                      - reporting_person_id
                      - assigned_to_person_id
                      - internal_class_id
                      - class_name
                      - incident_notes
                      - behavior_points
                      - status
                      - status_date
                      - outcome_type
                      - outcome_date
                      - outcome_notes
                      - follow_up_status
                      - follow_up_status_date
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - incident_type
                              - status
                              - outcome_type
                              - follow_up_status
                              - school_year
                              - grading_period
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'behavior:read'
    parameters:
      - name: id
        in: path
        description: Behavior ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - Behavior
      summary: Update Behavior
      operationId: update_behavior
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Behavior ID
                      readOnly: true
                    incident_date:
                      type: string
                      format: date
                      description: Incident Date
                    on_or_before_incident_date:
                      type: string
                      format: date
                      description: Incident Date
                    on_or_after_incident_date:
                      type: string
                      format: date
                      description: Incident Date
                    incident_type:
                      type: integer
                      description: Incident Type
                    student_id:
                      type: integer
                      description: Student ID
                    reporting_person_id:
                      type: integer
                      description: Reporting Person ID
                    assigned_to_person_id:
                      type: integer
                      description: Assigned To Person ID
                    internal_class_id:
                      type: integer
                      description: Class ID
                    class_name:
                      type: string
                      description: Description
                      maxLength: 80
                    incident_notes:
                      type: string
                      description: |-
                        Incident Notes

                        Incident notes are for internal use and not visible to parents or students unless included in the email notification template.&#39; Email Template merge variable: {incident_notes}
                    behavior_points:
                      type: integer
                      description: Behavior Points
                      readOnly: true
                    status:
                      type: integer
                      description: Status
                    status_date:
                      type: string
                      format: date
                      description: Status Date
                    outcome_type:
                      type: integer
                      description: Outcome Type
                    outcome_date:
                      type: string
                      format: date
                      description: Outcome Date
                    outcome_notes:
                      type: string
                      description: |-
                        Outcome Notes

                        Outcome notes are for internal use and not visible to parents or students unless included in the email notification template. Email Template merge variable: {outcome_notes}
                    follow_up_status:
                      type: integer
                      description: Follow Up Status
                    follow_up_status_date:
                      type: string
                      format: date
                      description: Follow Up Status Date
                    last_modified_date:
                      type: string
                      format: date
                      description: Update Date
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'behavior:update'
  /behavior_incident_types:
    get:
      tags:
        - Behavior Incident Types
      summary: List Behavior Incident Types
      operationId: list_behavior_incident_types
      parameters:
        - name: category
          in: query
          description: Category
          required: false
          schema:
            type: integer
        - name: allow_teacher_input
          in: query
          description: Allow Teacher Input
          required: false
          schema:
            type: boolean
        - name: is_obsolete
          in: query
          description: Obsolete
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 75
                        category:
                          type: integer
                          description: Category
                        behavior_points:
                          type: number
                          description: Behavior Points
                        allow_teacher_input:
                          type: boolean
                          description: Allow Teacher Input
                        default_status:
                          type: integer
                          description: |-
                            Default Status

                            If specified, the Behavior/Comment&#39;s status field will be set to this status after it is inserted.
                        default_outcome:
                          type: integer
                          description: Default Outcome
                        default_email_template:
                          type: integer
                          description: |-
                            Default Email Template

                            The email template that will be used to notify parents and students.  Staff/Faculty will always get notified via the internal email template. Only email templates that have a Module of &#39;Behavior&#39; and are NOT flagged as System will appear in this list.
                        default_internal_email_template:
                          type: integer
                          description: |-
                            Default Internal Email Template

                            The email template that will be used to notify staff and faculty. Only email templates that have a Module of &#39;Behavior&#39; will appear in this list.
                        reporting_person_notification:
                          type: integer
                          description: Reporting Person Notification
                        assigned_to_person_notification:
                          type: integer
                          description: Assigned To Person Notification
                        student_notification:
                          type: integer
                          description: Student Notification
                        parent_notification:
                          type: integer
                          description: |-
                            Parent Notification

                            Sends notification email to anyone with Legal Custody OR Portal Access
                        advisor_notification:
                          type: integer
                          description: Advisor Notification
                        homeroom_teacher_notification:
                          type: integer
                          description: Homeroom Teacher Notification
                        teacher_notification:
                          type: integer
                          description: |-
                            Teacher Notification

                            Student&#39;s teachers in active, Academic-type classes
                        coach_notification:
                          type: integer
                          description: Coach Notification
                        program_teacher_notification:
                          type: integer
                          description: Program Teacher Notification
                        dorm_parent_notification:
                          type: integer
                          description: Dorm Parent Notification
                        dorm_head_notification:
                          type: integer
                          description: Dorm Head Notification
                        sort_key:
                          type: integer
                          description: Sort Key
                        is_obsolete:
                          type: boolean
                          description: Obsolete
                      required:
                        - id
                        - description
                        - category
                        - behavior_points
                        - allow_teacher_input
                        - default_status
                        - default_outcome
                        - default_email_template
                        - default_internal_email_template
                        - reporting_person_notification
                        - assigned_to_person_notification
                        - student_notification
                        - parent_notification
                        - advisor_notification
                        - homeroom_teacher_notification
                        - teacher_notification
                        - coach_notification
                        - program_teacher_notification
                        - dorm_parent_notification
                        - dorm_head_notification
                        - sort_key
                        - is_obsolete
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - category
                              - default_status
                              - default_outcome
                              - default_email_template
                              - default_internal_email_template
                              - reporting_person_notification
                              - assigned_to_person_notification
                              - student_notification
                              - parent_notification
                              - advisor_notification
                              - homeroom_teacher_notification
                              - teacher_notification
                              - coach_notification
                              - program_teacher_notification
                              - dorm_parent_notification
                              - dorm_head_notification
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'behavior_incident_types:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/behavior_incident_types/{id}':
    get:
      tags:
        - Behavior Incident Types
      summary: Read Behavior Incident Types
      operationId: read_behavior_incident_types
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ID
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 75
                      category:
                        type: integer
                        description: Category
                      behavior_points:
                        type: number
                        description: Behavior Points
                      allow_teacher_input:
                        type: boolean
                        description: Allow Teacher Input
                      default_status:
                        type: integer
                        description: |-
                          Default Status

                          If specified, the Behavior/Comment&#39;s status field will be set to this status after it is inserted.
                      default_outcome:
                        type: integer
                        description: Default Outcome
                      default_email_template:
                        type: integer
                        description: |-
                          Default Email Template

                          The email template that will be used to notify parents and students.  Staff/Faculty will always get notified via the internal email template. Only email templates that have a Module of &#39;Behavior&#39; and are NOT flagged as System will appear in this list.
                      default_internal_email_template:
                        type: integer
                        description: |-
                          Default Internal Email Template

                          The email template that will be used to notify staff and faculty. Only email templates that have a Module of &#39;Behavior&#39; will appear in this list.
                      reporting_person_notification:
                        type: integer
                        description: Reporting Person Notification
                      assigned_to_person_notification:
                        type: integer
                        description: Assigned To Person Notification
                      student_notification:
                        type: integer
                        description: Student Notification
                      parent_notification:
                        type: integer
                        description: |-
                          Parent Notification

                          Sends notification email to anyone with Legal Custody OR Portal Access
                      advisor_notification:
                        type: integer
                        description: Advisor Notification
                      homeroom_teacher_notification:
                        type: integer
                        description: Homeroom Teacher Notification
                      teacher_notification:
                        type: integer
                        description: |-
                          Teacher Notification

                          Student&#39;s teachers in active, Academic-type classes
                      coach_notification:
                        type: integer
                        description: Coach Notification
                      program_teacher_notification:
                        type: integer
                        description: Program Teacher Notification
                      dorm_parent_notification:
                        type: integer
                        description: Dorm Parent Notification
                      dorm_head_notification:
                        type: integer
                        description: Dorm Head Notification
                      sort_key:
                        type: integer
                        description: Sort Key
                      is_obsolete:
                        type: boolean
                        description: Obsolete
                    required:
                      - id
                      - description
                      - category
                      - behavior_points
                      - allow_teacher_input
                      - default_status
                      - default_outcome
                      - default_email_template
                      - default_internal_email_template
                      - reporting_person_notification
                      - assigned_to_person_notification
                      - student_notification
                      - parent_notification
                      - advisor_notification
                      - homeroom_teacher_notification
                      - teacher_notification
                      - coach_notification
                      - program_teacher_notification
                      - dorm_parent_notification
                      - dorm_head_notification
                      - sort_key
                      - is_obsolete
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - category
                              - default_status
                              - default_outcome
                              - default_email_template
                              - default_internal_email_template
                              - reporting_person_notification
                              - assigned_to_person_notification
                              - student_notification
                              - parent_notification
                              - advisor_notification
                              - homeroom_teacher_notification
                              - teacher_notification
                              - coach_notification
                              - program_teacher_notification
                              - dorm_parent_notification
                              - dorm_head_notification
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'behavior_incident_types:read'
    parameters:
      - name: id
        in: path
        description: ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - Behavior Incident Types
      summary: Update Behavior Incident Types
      operationId: update_behavior_incident_types
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: ID
                      readOnly: true
                    description:
                      type: string
                      description: Description
                      maxLength: 75
                    category:
                      type: integer
                      description: Category
                    behavior_points:
                      type: number
                      description: Behavior Points
                    allow_teacher_input:
                      type: boolean
                      description: Allow Teacher Input
                    default_status:
                      type: integer
                      description: |-
                        Default Status

                        If specified, the Behavior/Comment&#39;s status field will be set to this status after it is inserted.
                    default_outcome:
                      type: integer
                      description: Default Outcome
                    default_email_template:
                      type: integer
                      description: |-
                        Default Email Template

                        The email template that will be used to notify parents and students.  Staff/Faculty will always get notified via the internal email template. Only email templates that have a Module of &#39;Behavior&#39; and are NOT flagged as System will appear in this list.
                    default_internal_email_template:
                      type: integer
                      description: |-
                        Default Internal Email Template

                        The email template that will be used to notify staff and faculty. Only email templates that have a Module of &#39;Behavior&#39; will appear in this list.
                    reporting_person_notification:
                      type: integer
                      description: Reporting Person Notification
                    assigned_to_person_notification:
                      type: integer
                      description: Assigned To Person Notification
                    student_notification:
                      type: integer
                      description: Student Notification
                    parent_notification:
                      type: integer
                      description: |-
                        Parent Notification

                        Sends notification email to anyone with Legal Custody OR Portal Access
                    advisor_notification:
                      type: integer
                      description: Advisor Notification
                    homeroom_teacher_notification:
                      type: integer
                      description: Homeroom Teacher Notification
                    teacher_notification:
                      type: integer
                      description: |-
                        Teacher Notification

                        Student&#39;s teachers in active, Academic-type classes
                    coach_notification:
                      type: integer
                      description: Coach Notification
                    program_teacher_notification:
                      type: integer
                      description: Program Teacher Notification
                    dorm_parent_notification:
                      type: integer
                      description: Dorm Parent Notification
                    dorm_head_notification:
                      type: integer
                      description: Dorm Head Notification
                    sort_key:
                      type: integer
                      description: Sort Key
                    is_obsolete:
                      type: boolean
                      description: Obsolete
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'behavior_incident_types:update'
  '/boarding/dorms/{internal_dorm_id}/attendance':
    get:
      tags:
        - 'Boarding: Dorm Attendance'
      summary: 'List Boarding: Dorm Attendance'
      operationId: list_boarding_dorm_attendance
      parameters:
        - name: on_or_before_attendance_date
          in: query
          description: Attendance Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_attendance_date
          in: query
          description: Attendance Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Class Attendance ID
                          readOnly: true
                        dorm_id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        student_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        attendance_date:
                          type: string
                          format: date
                          description: Attendance Date
                        block:
                          type: integer
                          description: Block
                        start_time:
                          type: string
                          format: date-time
                          description: Class Begin Time
                          readOnly: true
                        end_time:
                          type: string
                          format: date-time
                          description: Class End Time
                          readOnly: true
                        status:
                          type: integer
                          description: Status
                        notes:
                          type: string
                          description: Notes
                          maxLength: 500
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - dorm_id
                        - student_id
                        - attendance_date
                        - block
                        - start_time
                        - end_time
                        - status
                        - notes
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - block
                              - status
                              - school_year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'boarding.dorms.attendance:list'
    parameters:
      - name: internal_dorm_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/boarding/dorms/{internal_dorm_id}/attendance/{id}':
    get:
      tags:
        - 'Boarding: Dorm Attendance'
      summary: 'Read Boarding: Dorm Attendance'
      operationId: read_boarding_dorm_attendance
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Class Attendance ID
                        readOnly: true
                      dorm_id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      student_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      attendance_date:
                        type: string
                        format: date
                        description: Attendance Date
                      block:
                        type: integer
                        description: Block
                      start_time:
                        type: string
                        format: date-time
                        description: Class Begin Time
                        readOnly: true
                      end_time:
                        type: string
                        format: date-time
                        description: Class End Time
                        readOnly: true
                      status:
                        type: integer
                        description: Status
                      notes:
                        type: string
                        description: Notes
                        maxLength: 500
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - dorm_id
                      - student_id
                      - attendance_date
                      - block
                      - start_time
                      - end_time
                      - status
                      - notes
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - block
                              - status
                              - school_year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'boarding.dorms.attendance:read'
    parameters:
      - name: id
        in: path
        description: Class Attendance ID
        required: true
        schema:
          type: integer
      - name: internal_dorm_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Boarding: Dorm Attendance'
      summary: 'Update Boarding: Dorm Attendance'
      operationId: update_boarding_dorm_attendance
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Class Attendance ID
                      readOnly: true
                    dorm_id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    student_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    attendance_date:
                      type: string
                      format: date
                      description: Attendance Date
                    block:
                      type: integer
                      description: Block
                    start_time:
                      type: string
                      format: date-time
                      description: Class Begin Time
                      readOnly: true
                    end_time:
                      type: string
                      format: date-time
                      description: Class End Time
                      readOnly: true
                    status:
                      type: integer
                      description: Status
                    notes:
                      type: string
                      description: Notes
                      maxLength: 500
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'boarding.dorms.attendance:update'
  '/boarding/dorms/{internal_dorm_id}/students':
    get:
      tags:
        - 'Boarding: Dorm Students'
      summary: 'List Boarding: Dorm Students'
      operationId: list_boarding_dorm_students
      parameters:
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Enrollment ID
                          readOnly: true
                        student_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        dorm_id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        dorm:
                          type: string
                          description: Class
                          readOnly: true
                        room_number:
                          type: string
                          description: Room Number
                          maxLength: 10
                        floor_number:
                          type: integer
                          description: Floor Number
                        bed_number:
                          type: integer
                          description: Bed Number
                        currently_enrolled:
                          type: boolean
                          description: |-
                            Currently Enrolled

                            A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                            For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                        late_date_enrolled:
                          type: string
                          format: date
                          description: |-
                            Late Date Enrolled

                            The date the student enrolled in the class
                        date_withdrawn:
                          type: string
                          format: date
                          description: |-
                            Date Withdrawn

                            The date the student withdrew from the class
                        notes:
                          type: string
                          description: Notes
                          maxLength: 1000
                      required:
                        - id
                        - student_id
                        - dorm_id
                        - dorm
                        - room_number
                        - floor_number
                        - bed_number
                        - currently_enrolled
                        - late_date_enrolled
                        - date_withdrawn
                        - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - school_year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'boarding.dorms.students:list'
    parameters:
      - name: internal_dorm_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/boarding/dorms/{internal_dorm_id}/students/{id}':
    get:
      tags:
        - 'Boarding: Dorm Students'
      summary: 'Read Boarding: Dorm Students'
      operationId: read_boarding_dorm_students
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Enrollment ID
                        readOnly: true
                      student_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      dorm_id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      dorm:
                        type: string
                        description: Class
                        readOnly: true
                      room_number:
                        type: string
                        description: Room Number
                        maxLength: 10
                      floor_number:
                        type: integer
                        description: Floor Number
                      bed_number:
                        type: integer
                        description: Bed Number
                      currently_enrolled:
                        type: boolean
                        description: |-
                          Currently Enrolled

                          A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                          For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                      late_date_enrolled:
                        type: string
                        format: date
                        description: |-
                          Late Date Enrolled

                          The date the student enrolled in the class
                      date_withdrawn:
                        type: string
                        format: date
                        description: |-
                          Date Withdrawn

                          The date the student withdrew from the class
                      notes:
                        type: string
                        description: Notes
                        maxLength: 1000
                    required:
                      - id
                      - student_id
                      - dorm_id
                      - dorm
                      - room_number
                      - floor_number
                      - bed_number
                      - currently_enrolled
                      - late_date_enrolled
                      - date_withdrawn
                      - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - school_year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'boarding.dorms.students:read'
    parameters:
      - name: id
        in: path
        description: Enrollment ID
        required: true
        schema:
          type: integer
      - name: internal_dorm_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Boarding: Dorm Students'
      summary: 'Update Boarding: Dorm Students'
      operationId: update_boarding_dorm_students
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Enrollment ID
                      readOnly: true
                    student_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    dorm_id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    dorm:
                      type: string
                      description: Class
                      readOnly: true
                    room_number:
                      type: string
                      description: Room Number
                      maxLength: 10
                    floor_number:
                      type: integer
                      description: Floor Number
                    bed_number:
                      type: integer
                      description: Bed Number
                    currently_enrolled:
                      type: boolean
                      description: |-
                        Currently Enrolled

                        A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                        For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                    late_date_enrolled:
                      type: string
                      format: date
                      description: |-
                        Late Date Enrolled

                        The date the student enrolled in the class
                    date_withdrawn:
                      type: string
                      format: date
                      description: |-
                        Date Withdrawn

                        The date the student withdrew from the class
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'boarding.dorms.students:update'
  /boarding/dorms:
    get:
      tags:
        - 'Boarding: Dorms'
      summary: 'List Boarding: Dorms'
      operationId: list_boarding_dorms
      parameters:
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        abbreviation:
                          type: string
                          description: |-
                            Class ID

                            Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                            Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                          maxLength: 20
                        description:
                          type: string
                          description: Description
                          maxLength: 80
                        status:
                          type: integer
                          description: |-
                            Status

                            Status of the class (active, future, etc.)
                        school_year:
                          type: integer
                          description: School Year
                        dorm_head_id:
                          type: integer
                          description: Teacher ID
                        track_attendance:
                          type: boolean
                          description: |-
                            Track Class Attendance

                            Indicates whether to maintain Class-level attendance for this class in addition to Daily attendance
                        begin_date:
                          type: string
                          format: date
                          description: Begin Date
                        end_date:
                          type: string
                          format: date
                          description: End Date
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - abbreviation
                        - description
                        - status
                        - school_year
                        - dorm_head_id
                        - track_attendance
                        - begin_date
                        - end_date
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                              - school_year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'boarding.dorms:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/boarding/dorms/{id}':
    get:
      tags:
        - 'Boarding: Dorms'
      summary: 'Read Boarding: Dorms'
      operationId: read_boarding_dorms
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      abbreviation:
                        type: string
                        description: |-
                          Class ID

                          Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                          Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                        maxLength: 20
                      description:
                        type: string
                        description: Description
                        maxLength: 80
                      status:
                        type: integer
                        description: |-
                          Status

                          Status of the class (active, future, etc.)
                      school_year:
                        type: integer
                        description: School Year
                      dorm_head_id:
                        type: integer
                        description: Teacher ID
                      track_attendance:
                        type: boolean
                        description: |-
                          Track Class Attendance

                          Indicates whether to maintain Class-level attendance for this class in addition to Daily attendance
                      begin_date:
                        type: string
                        format: date
                        description: Begin Date
                      end_date:
                        type: string
                        format: date
                        description: End Date
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - abbreviation
                      - description
                      - status
                      - school_year
                      - dorm_head_id
                      - track_attendance
                      - begin_date
                      - end_date
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                              - school_year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'boarding.dorms:read'
    parameters:
      - name: id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/calendars/parent_calendars/{parent_id}':
    get:
      tags:
        - 'Calendars: Parent Calendars'
      summary: 'List Calendars: Parent Calendars'
      operationId: list_calendars_parent_calendars
      parameters:
        - name: student_id
          in: query
          description: Student ID
          required: false
          schema:
            type: string
        - name: event_type
          in: query
          description: Event Type
          required: false
          schema:
            type: integer
        - name: on_or_before_update_date
          in: query
          description: Update Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_update_date
          in: query
          description: Update Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_start_date
          in: query
          description: Event Start Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_start_date
          in: query
          description: Event Start Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_end_date
          in: query
          description: Event End Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_end_date
          in: query
          description: Event End Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        parent_id:
                          type: integer
                          description: Parent ID
                          readOnly: true
                        student_id:
                          type: string
                          description: Student ID
                          readOnly: true
                        event_id:
                          type: integer
                          description: Event ID
                          readOnly: true
                        event_type_id:
                          type: integer
                          description: Event Type
                        event_type_description:
                          type: string
                          description: Event Type Description
                          maxLength: 50
                        start_date:
                          type: string
                          format: date-time
                          description: Event Start Date
                          readOnly: true
                        end_date:
                          type: string
                          format: date-time
                          description: Event End Date
                          readOnly: true
                        start_time:
                          type: string
                          description: Start Time
                          readOnly: true
                        end_time:
                          type: string
                          description: End Time
                          readOnly: true
                        location:
                          type: string
                          description: Event Location
                          maxLength: 255
                        description:
                          type: string
                          description: Event Description
                          maxLength: 216
                        notes:
                          type: string
                          description: Notes
                          maxLength: 1000
                        contact_person:
                          type: integer
                          description: Contact Person ID
                        contact_person_name:
                          type: string
                          description: |-
                            First Last

                            The full name of an individual in &lt;first name&gt; &lt;last name&gt; notation
                          readOnly: true
                        game_outcome_id:
                          type: integer
                          description: Game Outcome
                        game_outcome_description:
                          type: string
                          description: Game Outcome Description
                          maxLength: 40
                        internal_team_id:
                          type: integer
                          description: Internal Team ID
                        team_description:
                          type: string
                          description: Team Description
                          maxLength: 80
                        update_date:
                          type: string
                          format: date
                          description: Update Date
                      required:
                        - parent_id
                        - student_id
                        - event_id
                        - event_type_id
                        - event_type_description
                        - start_date
                        - end_date
                        - start_time
                        - end_time
                        - location
                        - description
                        - notes
                        - contact_person
                        - contact_person_name
                        - game_outcome_id
                        - game_outcome_description
                        - internal_team_id
                        - team_description
                        - update_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'calendars.parent_calendars:list'
    parameters:
      - name: parent_id
        in: path
        description: Parent ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/calendars/student_calendars/{person_id}':
    get:
      tags:
        - 'Calendars: Student Calendars'
      summary: 'List Calendars: Student Calendars'
      operationId: list_calendars_student_calendars
      parameters:
        - name: event_type
          in: query
          description: Event Type
          required: false
          schema:
            type: integer
        - name: on_or_before_update_date
          in: query
          description: Update Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_update_date
          in: query
          description: Update Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_start_date
          in: query
          description: Start Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_start_date
          in: query
          description: Start Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_end_date
          in: query
          description: End Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_end_date
          in: query
          description: End Date
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        person_id:
                          type: integer
                          description: Person ID
                        event_id:
                          type: integer
                          description: Event ID
                          readOnly: true
                        event_type_id:
                          type: integer
                          description: Event Type
                        event_type_description:
                          type: string
                          description: Event Type Description
                          maxLength: 50
                        start_date:
                          type: string
                          format: date
                          description: Start Date
                          readOnly: true
                        end_date:
                          type: string
                          format: date
                          description: End Date
                          readOnly: true
                        start_time:
                          type: string
                          format: date-time
                          description: Start Time
                        end_time:
                          type: string
                          format: date-time
                          description: End Time
                        location:
                          type: string
                          description: Location
                          maxLength: 255
                        description:
                          type: string
                          description: Description
                          maxLength: 200
                        notes:
                          type: string
                          description: Notes
                          maxLength: 1000
                        contact_person_id:
                          type: integer
                          description: Contact Person ID
                        contact_person_name:
                          type: string
                          description: |-
                            First Last

                            The full name of an individual in &lt;first name&gt; &lt;last name&gt; notation
                          readOnly: true
                        game_outcome_id:
                          type: integer
                          description: Game Outcome
                        game_outcome_description:
                          type: string
                          description: Game Outcome Description
                          maxLength: 40
                        internal_team_id:
                          type: integer
                          description: Internal Team ID
                        team_description:
                          type: string
                          description: Team Description
                          maxLength: 80
                        update_date:
                          type: string
                          format: date
                          description: Update Date
                      required:
                        - person_id
                        - event_id
                        - event_type_id
                        - event_type_description
                        - start_date
                        - end_date
                        - start_time
                        - end_time
                        - location
                        - description
                        - notes
                        - contact_person_id
                        - contact_person_name
                        - game_outcome_id
                        - game_outcome_description
                        - internal_team_id
                        - team_description
                        - update_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'calendars.student_calendars:list'
    parameters:
      - name: person_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/classes/{internal_class_id}/attendance':
    get:
      tags:
        - Class Attendance
      summary: List Class Attendance
      operationId: list_class_attendance
      parameters:
        - name: attendance_date
          in: query
          description: Attendance Date
          required: false
          schema:
            type: string
            format: date
        - name: block_id
          in: query
          description: Period ID
          required: false
          schema:
            type: integer
        - name: block_description
          in: query
          description: Description
          required: false
          schema:
            type: string
            maxLength: 50
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Class Attendance ID
                          readOnly: true
                        internal_class_id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        student_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        student_name:
                          type: string
                          description: |-
                            Full Name

                            The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                          readOnly: true
                        attendance_date:
                          type: string
                          format: date
                          description: Attendance Date
                        block:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Period ID
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 6
                          required:
                            - id
                            - description
                            - abbreviation
                        start_time:
                          type: string
                          format: date-time
                          description: Class Begin Time
                          readOnly: true
                        end_time:
                          type: string
                          format: date-time
                          description: Class End Time
                          readOnly: true
                        status:
                          type: integer
                          description: Status
                        notes:
                          type: string
                          description: Notes
                          maxLength: 500
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - internal_class_id
                        - student_id
                        - student_name
                        - attendance_date
                        - block
                        - start_time
                        - end_time
                        - status
                        - notes
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'classes.attendance:list'
    parameters:
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/classes/{internal_class_id}/attendance/{id}':
    get:
      tags:
        - Class Attendance
      summary: Read Class Attendance
      operationId: read_class_attendance
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Class Attendance ID
                        readOnly: true
                      internal_class_id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      student_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      student_name:
                        type: string
                        description: |-
                          Full Name

                          The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                        readOnly: true
                      attendance_date:
                        type: string
                        format: date
                        description: Attendance Date
                      block:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Period ID
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 6
                        required:
                          - id
                          - description
                          - abbreviation
                      start_time:
                        type: string
                        format: date-time
                        description: Class Begin Time
                        readOnly: true
                      end_time:
                        type: string
                        format: date-time
                        description: Class End Time
                        readOnly: true
                      status:
                        type: integer
                        description: Status
                      notes:
                        type: string
                        description: Notes
                        maxLength: 500
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - internal_class_id
                      - student_id
                      - student_name
                      - attendance_date
                      - block
                      - start_time
                      - end_time
                      - status
                      - notes
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'classes.attendance:read'
    parameters:
      - name: id
        in: path
        description: Class Attendance ID
        required: true
        schema:
          type: integer
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - Class Attendance
      summary: Update Class Attendance
      operationId: update_class_attendance
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Class Attendance ID
                      readOnly: true
                    internal_class_id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    student_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    student_name:
                      type: string
                      description: |-
                        Full Name

                        The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                      readOnly: true
                    attendance_date:
                      type: string
                      format: date
                      description: Attendance Date
                    block:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Period ID
                        description:
                          type: string
                          description: Description
                          maxLength: 50
                        abbreviation:
                          type: string
                          description: Abbreviation
                          maxLength: 6
                      required:
                        - id
                        - description
                        - abbreviation
                    start_time:
                      type: string
                      format: date-time
                      description: Class Begin Time
                      readOnly: true
                    end_time:
                      type: string
                      format: date-time
                      description: Class End Time
                      readOnly: true
                    status:
                      type: integer
                      description: Status
                    notes:
                      type: string
                      description: Notes
                      maxLength: 500
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'classes.attendance:update'
  /classes:
    get:
      tags:
        - Classes
      summary: List Classes
      operationId: list_classes
      parameters:
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: campus_id
          in: query
          description: Campus ID
          required: false
          schema:
            type: integer
        - name: school_level
          in: query
          description: School Level
          required: false
          schema:
            type: integer
        - name: course_type
          in: query
          description: Course Type
          required: false
          schema:
            type: integer
        - name: room_id
          in: query
          description: Room ID
          required: false
          schema:
            type: integer
        - name: internal_course_id
          in: query
          description: Internal Course ID
          required: false
          schema:
            type: integer
        - name: primary_teacher_id
          in: query
          description: Teacher ID
          required: false
          schema:
            type: integer
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        class_id:
                          type: string
                          description: |-
                            Class ID

                            Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                            Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                          maxLength: 20
                        description:
                          type: string
                          description: Description
                          maxLength: 80
                        status:
                          type: integer
                          description: |-
                            Status

                            Status of the class (active, future, etc.)
                        school_year:
                          type: integer
                          description: School Year
                        campus_id:
                          type: integer
                          description: Campus ID
                        campus_description:
                          type: string
                          description: Description
                          maxLength: 50
                        primary_grade_level:
                          type: integer
                          description: Primary Grade Level
                        school_level:
                          type: integer
                          description: School Level
                        course:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Internal Course ID
                              readOnly: true
                            course_id:
                              type: string
                              description: Course ID
                              maxLength: 15
                            name:
                              type: string
                              description: Course Name
                              maxLength: 100
                            course_type:
                              type: integer
                              description: Course Type
                          required:
                            - id
                            - course_id
                            - name
                            - course_type
                        primary_teacher:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Teacher ID
                            name:
                              type: string
                              description: Teacher
                              readOnly: true
                          required:
                            - id
                            - name
                        room:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Room ID
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 8
                            description:
                              type: string
                              description: Description
                              maxLength: 100
                          required:
                            - id
                            - abbreviation
                            - description
                        subject:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Subject
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                          required:
                            - id
                            - description
                        department:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Department
                            description:
                              type: string
                              description: Description
                              maxLength: 100
                          required:
                            - id
                            - description
                        virtual_meeting_url:
                          type: string
                          description: |-
                            Virtual Meeting URL

                            To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                          maxLength: 2000
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - class_id
                        - description
                        - status
                        - school_year
                        - campus_id
                        - campus_description
                        - primary_grade_level
                        - school_level
                        - course
                        - primary_teacher
                        - room
                        - subject
                        - department
                        - virtual_meeting_url
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                              - school_year
                              - primary_grade_level
                              - school_level
                              - course.course_type
                              - subject.id
                              - department.id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'classes:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/classes/{id}':
    get:
      tags:
        - Classes
      summary: Read Classes
      operationId: read_classes
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      class_id:
                        type: string
                        description: |-
                          Class ID

                          Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                          Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                        maxLength: 20
                      description:
                        type: string
                        description: Description
                        maxLength: 80
                      status:
                        type: integer
                        description: |-
                          Status

                          Status of the class (active, future, etc.)
                      school_year:
                        type: integer
                        description: School Year
                      campus_id:
                        type: integer
                        description: Campus ID
                      campus_description:
                        type: string
                        description: Description
                        maxLength: 50
                      primary_grade_level:
                        type: integer
                        description: Primary Grade Level
                      school_level:
                        type: integer
                        description: School Level
                      course:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Internal Course ID
                            readOnly: true
                          course_id:
                            type: string
                            description: Course ID
                            maxLength: 15
                          name:
                            type: string
                            description: Course Name
                            maxLength: 100
                          course_type:
                            type: integer
                            description: Course Type
                        required:
                          - id
                          - course_id
                          - name
                          - course_type
                      primary_teacher:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Teacher ID
                          name:
                            type: string
                            description: Teacher
                            readOnly: true
                        required:
                          - id
                          - name
                      room:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Room ID
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 8
                          description:
                            type: string
                            description: Description
                            maxLength: 100
                        required:
                          - id
                          - abbreviation
                          - description
                      subject:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Subject
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                        required:
                          - id
                          - description
                      department:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Department
                          description:
                            type: string
                            description: Description
                            maxLength: 100
                        required:
                          - id
                          - description
                      virtual_meeting_url:
                        type: string
                        description: |-
                          Virtual Meeting URL

                          To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                        maxLength: 2000
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - class_id
                      - description
                      - status
                      - school_year
                      - campus_id
                      - campus_description
                      - primary_grade_level
                      - school_level
                      - course
                      - primary_teacher
                      - room
                      - subject
                      - department
                      - virtual_meeting_url
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                              - school_year
                              - primary_grade_level
                              - school_level
                              - course.course_type
                              - subject.id
                              - department.id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'classes:read'
    parameters:
      - name: id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /contact_info:
    get:
      tags:
        - Contact Info
      summary: List Contact Info
      operationId: list_contact_info
      parameters:
        - name: role
          in: query
          description: Role
          required: false
          schema:
            type: integer
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        name:
                          type: string
                          description: |-
                            Full Name

                            The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                          readOnly: true
                        household_id:
                          type: integer
                          description: Household ID
                          readOnly: true
                        email_1:
                          type: string
                          description: |-
                            Email 1

                            This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                          maxLength: 100
                        email_2:
                          type: string
                          description: |-
                            Email 2

                            This should be used when a supplemental email address is available.  Note that Email 1 is the default for email blasts and other electronic correspondence.
                          maxLength: 100
                        home_phone:
                          type: string
                          description: |-
                            Home Phone

                            This field should always be in sync with the Household phone number.
                          maxLength: 30
                        mobile_phone:
                          type: string
                          description: Mobile Phone
                          maxLength: 30
                        business_phone:
                          type: string
                          description: Business Phone
                          maxLength: 30
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - name
                        - household_id
                        - email_1
                        - email_2
                        - home_phone
                        - mobile_phone
                        - business_phone
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'contact_info:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/contact_info/{id}':
    get:
      tags:
        - Contact Info
      summary: Read Contact Info
      operationId: read_contact_info
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      name:
                        type: string
                        description: |-
                          Full Name

                          The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                        readOnly: true
                      household_id:
                        type: integer
                        description: Household ID
                        readOnly: true
                      email_1:
                        type: string
                        description: |-
                          Email 1

                          This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                        maxLength: 100
                      email_2:
                        type: string
                        description: |-
                          Email 2

                          This should be used when a supplemental email address is available.  Note that Email 1 is the default for email blasts and other electronic correspondence.
                        maxLength: 100
                      home_phone:
                        type: string
                        description: |-
                          Home Phone

                          This field should always be in sync with the Household phone number.
                        maxLength: 30
                      mobile_phone:
                        type: string
                        description: Mobile Phone
                        maxLength: 30
                      business_phone:
                        type: string
                        description: Business Phone
                        maxLength: 30
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - name
                      - household_id
                      - email_1
                      - email_2
                      - home_phone
                      - mobile_phone
                      - business_phone
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'contact_info:read'
    parameters:
      - name: id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - Contact Info
      summary: Update Contact Info
      operationId: update_contact_info
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    name:
                      type: string
                      description: |-
                        Full Name

                        The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                      readOnly: true
                    household_id:
                      type: integer
                      description: Household ID
                      readOnly: true
                    email_1:
                      type: string
                      description: |-
                        Email 1

                        This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                      maxLength: 100
                    email_2:
                      type: string
                      description: |-
                        Email 2

                        This should be used when a supplemental email address is available.  Note that Email 1 is the default for email blasts and other electronic correspondence.
                      maxLength: 100
                    home_phone:
                      type: string
                      description: |-
                        Home Phone

                        This field should always be in sync with the Household phone number.
                      maxLength: 30
                    mobile_phone:
                      type: string
                      description: Mobile Phone
                      maxLength: 30
                    business_phone:
                      type: string
                      description: Business Phone
                      maxLength: 30
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'contact_info:update'
  /courses:
    get:
      tags:
        - Courses
      summary: List Courses
      operationId: list_courses
      parameters:
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Internal Course ID
                          readOnly: true
                        name:
                          type: string
                          description: Course Name
                          maxLength: 100
                        course_type:
                          type: integer
                          description: Course Type
                        course_id:
                          type: string
                          description: Course ID
                          maxLength: 15
                        catalog_title:
                          type: string
                          description: Catalog Title
                          maxLength: 100
                        catalog_description:
                          type: string
                          description: Catalog Description
                          maxLength: 8000
                        subject:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                          required:
                            - id
                            - description
                        department:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Department
                            description:
                              type: string
                              description: Description
                              maxLength: 100
                          required:
                            - id
                            - description
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - name
                        - course_type
                        - course_id
                        - catalog_title
                        - catalog_description
                        - subject
                        - department
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - course_type
                              - department.id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'courses:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/courses/{id}':
    get:
      tags:
        - Courses
      summary: Read Courses
      operationId: read_courses
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Internal Course ID
                        readOnly: true
                      name:
                        type: string
                        description: Course Name
                        maxLength: 100
                      course_type:
                        type: integer
                        description: Course Type
                      course_id:
                        type: string
                        description: Course ID
                        maxLength: 15
                      catalog_title:
                        type: string
                        description: Catalog Title
                        maxLength: 100
                      catalog_description:
                        type: string
                        description: Catalog Description
                        maxLength: 8000
                      subject:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                        required:
                          - id
                          - description
                      department:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Department
                          description:
                            type: string
                            description: Description
                            maxLength: 100
                        required:
                          - id
                          - description
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - name
                      - course_type
                      - course_id
                      - catalog_title
                      - catalog_description
                      - subject
                      - department
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - course_type
                              - department.id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'courses:read'
    parameters:
      - name: id
        in: path
        description: Internal Course ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - Courses
      summary: Update Courses
      operationId: update_courses
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Internal Course ID
                      readOnly: true
                    name:
                      type: string
                      description: Course Name
                      maxLength: 100
                    course_type:
                      type: integer
                      description: Course Type
                    course_id:
                      type: string
                      description: Course ID
                      maxLength: 15
                    catalog_title:
                      type: string
                      description: Catalog Title
                      maxLength: 100
                    catalog_description:
                      type: string
                      description: Catalog Description
                      maxLength: 8000
                    subject:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 50
                      required:
                        - id
                        - description
                    department:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Department
                        description:
                          type: string
                          description: Description
                          maxLength: 100
                      required:
                        - id
                        - description
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'courses:update'
  /development/constituents:
    get:
      tags:
        - 'Development: Constituents'
      summary: 'List Development: Constituents'
      operationId: list_development_constituents
      parameters:
        - name: record_type
          in: query
          description: Record Type
          required: false
          schema:
            type: integer
        - name: primary_development_role
          in: query
          description: |-
            Primary Development Role

            Primary development role of the current year annual fund opportunity.
          required: false
          schema:
            type: integer
        - name: primary_dev_rating
          in: query
          description: Primary Dev Rating
          required: false
          schema:
            type: integer
        - name: deceased
          in: query
          description: Deceased
          required: false
          schema:
            type: boolean
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: gift_count_greater_than_or_equal_to
          in: query
          description: Gift Count
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Constituent ID
                          readOnly: true
                        record_type:
                          type: integer
                          description: Record Type
                        constituent:
                          type: string
                          description: Description
                          readOnly: true
                        primary_development_role:
                          type: integer
                          description: |-
                            Primary Development Role

                            Primary development role of the current year annual fund opportunity.
                        primary_dev_rating:
                          type: integer
                          description: Primary Dev Rating
                        constituent_solicitor_1:
                          type: string
                          description: |-
                            Constituent Solicitor 1

                            Default solicitor 1 for opportunities for this constituent.
                          readOnly: true
                        solicitable:
                          type: boolean
                          description: |-
                            Solicitable

                            Indicates if the related person/organization records are marked as &quot;Do Not Solicit&quot;. This will report as NOT solicitable if the primary person OR spouse is marked as &quot;Do Not Solicit&quot;.
                          readOnly: true
                        deceased:
                          type: boolean
                          description: Deceased
                          readOnly: true
                        notes:
                          type: string
                          description: Notes
                        address_1:
                          type: string
                          description: Address 1
                          readOnly: true
                        address_2:
                          type: string
                          description: Address 2
                          readOnly: true
                        address_3:
                          type: string
                          description: Address 3
                          readOnly: true
                        city:
                          type: string
                          description: City
                          readOnly: true
                        state:
                          type: string
                          description: State
                          readOnly: true
                        postal_code:
                          type: string
                          description: Postal Code
                          readOnly: true
                        country:
                          type: integer
                          description: Country
                          readOnly: true
                        household:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Household ID
                              readOnly: true
                          required:
                            - id
                          readOnly: true
                        person:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Person ID
                              readOnly: true
                            full_name:
                              type: string
                              description: |-
                                Full Name

                                The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                              readOnly: true
                            email_1:
                              type: string
                              description: |-
                                Email 1

                                This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                              maxLength: 100
                            mobile_phone:
                              type: string
                              description: Mobile Phone
                              maxLength: 30
                            graduation_year:
                              type: integer
                              description: Graduation Year
                            roles:
                              type: string
                              description: |-
                                Roles

                                A list of all roles specified for this person.  Roles define this person&#39;s relationship to the school.  Can include &quot;virtual&quot; roles such as &quot;Relative of Alum&quot;.
                              readOnly: true
                          required:
                            - id
                            - full_name
                            - email_1
                            - mobile_phone
                            - graduation_year
                            - roles
                        spouse:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Person ID
                              readOnly: true
                            full_name:
                              type: string
                              description: |-
                                Full Name

                                The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                              readOnly: true
                            roles:
                              type: string
                              description: |-
                                Roles

                                A list of all roles specified for this person.  Roles define this person&#39;s relationship to the school.  Can include &quot;virtual&quot; roles such as &quot;Relative of Alum&quot;.
                              readOnly: true
                            email_1:
                              type: string
                              description: |-
                                Email 1

                                This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                              maxLength: 100
                            mobile_phone:
                              type: string
                              description: Mobile Phone
                              maxLength: 30
                            graduation_year:
                              type: integer
                              description: Graduation Year
                          required:
                            - id
                            - full_name
                            - roles
                            - email_1
                            - mobile_phone
                            - graduation_year
                        organization:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: |-
                                Organization ID

                                Organization ID
                              readOnly: true
                            name:
                              type: string
                              description: Organization
                              maxLength: 200
                            primary_contact:
                              type: string
                              description: Primary Contact
                              readOnly: true
                            email:
                              type: string
                              description: |-
                                Email

                                A generic email for an organization
                              maxLength: 100
                            phone:
                              type: string
                              description: Phone
                              maxLength: 30
                            roles:
                              type: string
                              description: Roles
                              readOnly: true
                          required:
                            - id
                            - name
                            - primary_contact
                            - email
                            - phone
                            - roles
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                        gift_count:
                          type: integer
                          description: Gift Count
                          readOnly: true
                      required:
                        - id
                        - record_type
                        - constituent
                        - primary_development_role
                        - primary_dev_rating
                        - constituent_solicitor_1
                        - solicitable
                        - deceased
                        - notes
                        - address_1
                        - address_2
                        - address_3
                        - city
                        - state
                        - postal_code
                        - country
                        - household
                        - person
                        - spouse
                        - organization
                        - last_modified_date
                        - gift_count
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - record_type
                              - primary_development_role
                              - primary_dev_rating
                              - country
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'development.constituents:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/development/constituents/{id}':
    get:
      tags:
        - 'Development: Constituents'
      summary: 'Read Development: Constituents'
      operationId: read_development_constituents
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Constituent ID
                        readOnly: true
                      record_type:
                        type: integer
                        description: Record Type
                      constituent:
                        type: string
                        description: Description
                        readOnly: true
                      primary_development_role:
                        type: integer
                        description: |-
                          Primary Development Role

                          Primary development role of the current year annual fund opportunity.
                      primary_dev_rating:
                        type: integer
                        description: Primary Dev Rating
                      constituent_solicitor_1:
                        type: string
                        description: |-
                          Constituent Solicitor 1

                          Default solicitor 1 for opportunities for this constituent.
                        readOnly: true
                      solicitable:
                        type: boolean
                        description: |-
                          Solicitable

                          Indicates if the related person/organization records are marked as &quot;Do Not Solicit&quot;. This will report as NOT solicitable if the primary person OR spouse is marked as &quot;Do Not Solicit&quot;.
                        readOnly: true
                      deceased:
                        type: boolean
                        description: Deceased
                        readOnly: true
                      notes:
                        type: string
                        description: Notes
                      address_1:
                        type: string
                        description: Address 1
                        readOnly: true
                      address_2:
                        type: string
                        description: Address 2
                        readOnly: true
                      address_3:
                        type: string
                        description: Address 3
                        readOnly: true
                      city:
                        type: string
                        description: City
                        readOnly: true
                      state:
                        type: string
                        description: State
                        readOnly: true
                      postal_code:
                        type: string
                        description: Postal Code
                        readOnly: true
                      country:
                        type: integer
                        description: Country
                        readOnly: true
                      household:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Household ID
                            readOnly: true
                        required:
                          - id
                        readOnly: true
                      person:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Person ID
                            readOnly: true
                          full_name:
                            type: string
                            description: |-
                              Full Name

                              The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                            readOnly: true
                          email_1:
                            type: string
                            description: |-
                              Email 1

                              This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                            maxLength: 100
                          mobile_phone:
                            type: string
                            description: Mobile Phone
                            maxLength: 30
                          graduation_year:
                            type: integer
                            description: Graduation Year
                          roles:
                            type: string
                            description: |-
                              Roles

                              A list of all roles specified for this person.  Roles define this person&#39;s relationship to the school.  Can include &quot;virtual&quot; roles such as &quot;Relative of Alum&quot;.
                            readOnly: true
                        required:
                          - id
                          - full_name
                          - email_1
                          - mobile_phone
                          - graduation_year
                          - roles
                      spouse:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Person ID
                            readOnly: true
                          full_name:
                            type: string
                            description: |-
                              Full Name

                              The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                            readOnly: true
                          roles:
                            type: string
                            description: |-
                              Roles

                              A list of all roles specified for this person.  Roles define this person&#39;s relationship to the school.  Can include &quot;virtual&quot; roles such as &quot;Relative of Alum&quot;.
                            readOnly: true
                          email_1:
                            type: string
                            description: |-
                              Email 1

                              This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                            maxLength: 100
                          mobile_phone:
                            type: string
                            description: Mobile Phone
                            maxLength: 30
                          graduation_year:
                            type: integer
                            description: Graduation Year
                        required:
                          - id
                          - full_name
                          - roles
                          - email_1
                          - mobile_phone
                          - graduation_year
                      organization:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: |-
                              Organization ID

                              Organization ID
                            readOnly: true
                          name:
                            type: string
                            description: Organization
                            maxLength: 200
                          primary_contact:
                            type: string
                            description: Primary Contact
                            readOnly: true
                          email:
                            type: string
                            description: |-
                              Email

                              A generic email for an organization
                            maxLength: 100
                          phone:
                            type: string
                            description: Phone
                            maxLength: 30
                          roles:
                            type: string
                            description: Roles
                            readOnly: true
                        required:
                          - id
                          - name
                          - primary_contact
                          - email
                          - phone
                          - roles
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                      gift_count:
                        type: integer
                        description: Gift Count
                        readOnly: true
                    required:
                      - id
                      - record_type
                      - constituent
                      - primary_development_role
                      - primary_dev_rating
                      - constituent_solicitor_1
                      - solicitable
                      - deceased
                      - notes
                      - address_1
                      - address_2
                      - address_3
                      - city
                      - state
                      - postal_code
                      - country
                      - household
                      - person
                      - spouse
                      - organization
                      - last_modified_date
                      - gift_count
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - record_type
                              - primary_development_role
                              - primary_dev_rating
                              - country
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'development.constituents:read'
    parameters:
      - name: id
        in: path
        description: Constituent ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /development/gifts:
    get:
      tags:
        - 'Development: Gifts'
      summary: 'List Development: Gifts'
      operationId: list_development_gifts
      parameters:
        - name: on_or_after_gift_date
          in: query
          description: |-
            Date

            The date the gift was given
          required: false
          schema:
            type: string
            format: date
        - name: fiscal_year
          in: query
          description: Fiscal Year
          required: false
          schema:
            type: integer
        - name: constituent_id
          in: query
          description: Constituent ID
          required: false
          schema:
            type: integer
        - name: person.person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: organization.organization_id
          in: query
          description: |-
            Organization ID

            Organization ID
          required: false
          schema:
            type: integer
        - name: fundraising_activity
          in: query
          description: Fundraising Activity
          required: false
          schema:
            type: string
        - name: fund
          in: query
          description: Fund
          required: false
          schema:
            type: integer
        - name: event
          in: query
          description: Event
          required: false
          schema:
            type: string
        - name: apply_to_pledge
          in: query
          description: Apply To Pledge
          required: false
          schema:
            type: boolean
        - name: greater_than_or_equal_to_pledge_balance
          in: query
          description: |-
            Pledge Balance

            Original Pledge Amount minus the following:

            Total Received

            Total Writeoff Amount

            Total Cancelled Amount
          required: false
          schema:
            type: number
        - name: gift_type
          in: query
          description: Gift Type
          required: false
          schema:
            type: integer
        - name: soft_credit_type
          in: query
          description: |-
            Soft Credit Type

            Applies to Soft Credit records only.  Indicates the type of soft credit.

            (Not to be confused with the &quot;Soft Credit Given&quot; field)
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Gift ID
                          readOnly: true
                        gift_type:
                          type: integer
                          description: Gift Type
                        constituent_id:
                          type: integer
                          description: Constituent ID
                        constituent_name:
                          type: string
                          description: Constituent
                          readOnly: true
                        constituent_record_type:
                          type: integer
                          description: Record Type
                        person:
                          type: object
                          properties:
                            person_id:
                              type: integer
                              description: Person ID
                              readOnly: true
                            full_name:
                              type: string
                              description: |-
                                Full Name

                                The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                              readOnly: true
                          required:
                            - person_id
                            - full_name
                          readOnly: true
                        organization:
                          type: object
                          properties:
                            organization_id:
                              type: integer
                              description: |-
                                Organization ID

                                Organization ID
                              readOnly: true
                            name:
                              type: string
                              description: Organization
                              maxLength: 200
                          required:
                            - organization_id
                            - name
                        date:
                          type: string
                          format: date
                          description: |-
                            Date

                            The date the gift was given
                        fiscal_year:
                          type: integer
                          description: Fiscal Year
                        amount:
                          type: number
                          description: |-
                            Amount

                            The donation or pledge amount
                        fundraising_activity:
                          type: string
                          description: Fundraising Activity
                        fund:
                          type: string
                          description: |-
                            Fund Description

                            For &quot;Development&quot; funds, not &quot;General Ledger&quot; funds
                          maxLength: 200
                        event:
                          type: string
                          description: Event
                          readOnly: true
                        apply_to_pledge:
                          type: boolean
                          description: Apply To Pledge
                        associated_pledge_gift_id:
                          type: integer
                          description: Gift ID (Pledge or Associated)
                          readOnly: true
                        acknowledgement_letter_template:
                          type: string
                          description: Acknowledgement Letter Template
                          readOnly: true
                        acknowledgement_date:
                          type: string
                          format: date
                          description: |-
                            Acknowledgement Date

                            The date the pledge acknowledgement letter was printed
                          readOnly: true
                        thank_you_letter_date:
                          type: string
                          format: date
                          description: |-
                            Thank-You Letter Date

                            The date the donation thank-you letter was printed
                          readOnly: true
                        anonymous:
                          type: boolean
                          description: Anonymous
                        notes:
                          type: string
                          description: Notes
                        in_honor_of:
                          type: string
                          description: In Honor Of
                          maxLength: 500
                        in_memory_of:
                          type: string
                          description: In Memory Of
                          maxLength: 500
                        payment_method:
                          type: integer
                          description: Payment Method
                        payment_category:
                          type: integer
                          description: Payment Category
                        reward_amount:
                          type: number
                          description: |-
                            Reward Amount

                            The reward amount for this gift
                        in_kind_gift_description:
                          type: string
                          description: In Kind Gift Description
                          readOnly: true
                        solicitor:
                          type: string
                          description: Solicitor
                          readOnly: true
                        batch_id:
                          type: string
                          description: Batch ID
                          maxLength: 20
                        profile_codes:
                          type: string
                          description: All Profile Codes
                          readOnly: true
                        pledge:
                          type: object
                          properties:
                            start_date:
                              type: string
                              format: date
                              description: Pledge Start Date
                              readOnly: true
                            increment:
                              type: number
                              description: Pledge Increment
                            payment_frequency:
                              type: integer
                              description: Payment Frequency
                            total_received:
                              type: number
                              description: |-
                                Pledge Total Received

                                The total amount of all donations received against this pledge
                            total_writeoff:
                              type: number
                              description: |-
                                Pledge Total Writeoff

                                The total amount written off
                            balance:
                              type: number
                              description: |-
                                Pledge Balance

                                Original Pledge Amount minus the following:

                                Total Received

                                Total Writeoff Amount

                                Total Cancelled Amount
                          required:
                            - start_date
                            - increment
                            - payment_frequency
                            - total_received
                            - total_writeoff
                            - balance
                        soft_credit_type:
                          type: integer
                          description: |-
                            Soft Credit Type

                            Applies to Soft Credit records only.  Indicates the type of soft credit.

                            (Not to be confused with the &quot;Soft Credit Given&quot; field)
                        hard_credit_gift_id:
                          type: integer
                          description: Hard Credit Gift ID
                          readOnly: true
                      required:
                        - id
                        - gift_type
                        - constituent_id
                        - constituent_name
                        - constituent_record_type
                        - person
                        - organization
                        - date
                        - fiscal_year
                        - amount
                        - fundraising_activity
                        - fund
                        - event
                        - apply_to_pledge
                        - associated_pledge_gift_id
                        - acknowledgement_letter_template
                        - acknowledgement_date
                        - thank_you_letter_date
                        - anonymous
                        - notes
                        - in_honor_of
                        - in_memory_of
                        - payment_method
                        - payment_category
                        - reward_amount
                        - in_kind_gift_description
                        - solicitor
                        - batch_id
                        - profile_codes
                        - pledge
                        - soft_credit_type
                        - hard_credit_gift_id
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - gift_type
                              - constituent_record_type
                              - fiscal_year
                              - payment_method
                              - payment_category
                              - pledge.payment_frequency
                              - soft_credit_type
                              - fund
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'development.gifts:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/development/gifts/{id}':
    get:
      tags:
        - 'Development: Gifts'
      summary: 'Read Development: Gifts'
      operationId: read_development_gifts
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Gift ID
                        readOnly: true
                      gift_type:
                        type: integer
                        description: Gift Type
                      constituent_id:
                        type: integer
                        description: Constituent ID
                      constituent_name:
                        type: string
                        description: Constituent
                        readOnly: true
                      constituent_record_type:
                        type: integer
                        description: Record Type
                      person:
                        type: object
                        properties:
                          person_id:
                            type: integer
                            description: Person ID
                            readOnly: true
                          full_name:
                            type: string
                            description: |-
                              Full Name

                              The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                            readOnly: true
                        required:
                          - person_id
                          - full_name
                        readOnly: true
                      organization:
                        type: object
                        properties:
                          organization_id:
                            type: integer
                            description: |-
                              Organization ID

                              Organization ID
                            readOnly: true
                          name:
                            type: string
                            description: Organization
                            maxLength: 200
                        required:
                          - organization_id
                          - name
                      date:
                        type: string
                        format: date
                        description: |-
                          Date

                          The date the gift was given
                      fiscal_year:
                        type: integer
                        description: Fiscal Year
                      amount:
                        type: number
                        description: |-
                          Amount

                          The donation or pledge amount
                      fundraising_activity:
                        type: string
                        description: Fundraising Activity
                      fund:
                        type: string
                        description: |-
                          Fund Description

                          For &quot;Development&quot; funds, not &quot;General Ledger&quot; funds
                        maxLength: 200
                      event:
                        type: string
                        description: Event
                        readOnly: true
                      apply_to_pledge:
                        type: boolean
                        description: Apply To Pledge
                      associated_pledge_gift_id:
                        type: integer
                        description: Gift ID (Pledge or Associated)
                        readOnly: true
                      acknowledgement_letter_template:
                        type: string
                        description: Acknowledgement Letter Template
                        readOnly: true
                      acknowledgement_date:
                        type: string
                        format: date
                        description: |-
                          Acknowledgement Date

                          The date the pledge acknowledgement letter was printed
                        readOnly: true
                      thank_you_letter_date:
                        type: string
                        format: date
                        description: |-
                          Thank-You Letter Date

                          The date the donation thank-you letter was printed
                        readOnly: true
                      anonymous:
                        type: boolean
                        description: Anonymous
                      notes:
                        type: string
                        description: Notes
                      in_honor_of:
                        type: string
                        description: In Honor Of
                        maxLength: 500
                      in_memory_of:
                        type: string
                        description: In Memory Of
                        maxLength: 500
                      payment_method:
                        type: integer
                        description: Payment Method
                      payment_category:
                        type: integer
                        description: Payment Category
                      reward_amount:
                        type: number
                        description: |-
                          Reward Amount

                          The reward amount for this gift
                      in_kind_gift_description:
                        type: string
                        description: In Kind Gift Description
                        readOnly: true
                      solicitor:
                        type: string
                        description: Solicitor
                        readOnly: true
                      batch_id:
                        type: string
                        description: Batch ID
                        maxLength: 20
                      profile_codes:
                        type: string
                        description: All Profile Codes
                        readOnly: true
                      pledge:
                        type: object
                        properties:
                          start_date:
                            type: string
                            format: date
                            description: Pledge Start Date
                            readOnly: true
                          increment:
                            type: number
                            description: Pledge Increment
                          payment_frequency:
                            type: integer
                            description: Payment Frequency
                          total_received:
                            type: number
                            description: |-
                              Pledge Total Received

                              The total amount of all donations received against this pledge
                          total_writeoff:
                            type: number
                            description: |-
                              Pledge Total Writeoff

                              The total amount written off
                          balance:
                            type: number
                            description: |-
                              Pledge Balance

                              Original Pledge Amount minus the following:

                              Total Received

                              Total Writeoff Amount

                              Total Cancelled Amount
                        required:
                          - start_date
                          - increment
                          - payment_frequency
                          - total_received
                          - total_writeoff
                          - balance
                      soft_credit_type:
                        type: integer
                        description: |-
                          Soft Credit Type

                          Applies to Soft Credit records only.  Indicates the type of soft credit.

                          (Not to be confused with the &quot;Soft Credit Given&quot; field)
                      hard_credit_gift_id:
                        type: integer
                        description: Hard Credit Gift ID
                        readOnly: true
                    required:
                      - id
                      - gift_type
                      - constituent_id
                      - constituent_name
                      - constituent_record_type
                      - person
                      - organization
                      - date
                      - fiscal_year
                      - amount
                      - fundraising_activity
                      - fund
                      - event
                      - apply_to_pledge
                      - associated_pledge_gift_id
                      - acknowledgement_letter_template
                      - acknowledgement_date
                      - thank_you_letter_date
                      - anonymous
                      - notes
                      - in_honor_of
                      - in_memory_of
                      - payment_method
                      - payment_category
                      - reward_amount
                      - in_kind_gift_description
                      - solicitor
                      - batch_id
                      - profile_codes
                      - pledge
                      - soft_credit_type
                      - hard_credit_gift_id
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - gift_type
                              - constituent_record_type
                              - fiscal_year
                              - payment_method
                              - payment_category
                              - pledge.payment_frequency
                              - soft_credit_type
                              - fund
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'development.gifts:read'
    parameters:
      - name: id
        in: path
        description: Gift ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /directory/preferences/household:
    get:
      tags:
        - 'Directory Preferences: Household'
      summary: 'List Directory Preferences: Household'
      operationId: list_directory_preferences_household
      parameters:
        - name: household_id
          in: query
          description: Household ID
          required: false
          schema:
            type: integer
        - name: household_name
          in: query
          description: Household Name
          required: false
          schema:
            type: string
        - name: directory_type
          in: query
          description: Directory Type
          required: false
          schema:
            type: integer
        - name: status
          in: query
          description: Status
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Household Directory Type Preference ID
                          readOnly: true
                        household_id:
                          type: integer
                          description: Household ID
                        household_name:
                          type: string
                          description: Household Name
                        directory_type:
                          type: integer
                          description: Directory Type
                        status:
                          type: integer
                          description: Status
                        visibility:
                          type: integer
                          description: Visible
                        address_display:
                          type: integer
                          description: Address Display Format
                        phone_display:
                          type: integer
                          description: Phone Display Setting
                      required:
                        - id
                        - household_id
                        - household_name
                        - directory_type
                        - status
                        - visibility
                        - address_display
                        - phone_display
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - directory_type
                              - status
                              - visibility
                              - address_display
                              - phone_display
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'directory.preferences.household:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/directory/preferences/household/{id}':
    get:
      tags:
        - 'Directory Preferences: Household'
      summary: 'Read Directory Preferences: Household'
      operationId: read_directory_preferences_household
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Household Directory Type Preference ID
                        readOnly: true
                      household_id:
                        type: integer
                        description: Household ID
                      household_name:
                        type: string
                        description: Household Name
                      directory_type:
                        type: integer
                        description: Directory Type
                      status:
                        type: integer
                        description: Status
                      visibility:
                        type: integer
                        description: Visible
                      address_display:
                        type: integer
                        description: Address Display Format
                      phone_display:
                        type: integer
                        description: Phone Display Setting
                    required:
                      - id
                      - household_id
                      - household_name
                      - directory_type
                      - status
                      - visibility
                      - address_display
                      - phone_display
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - directory_type
                              - status
                              - visibility
                              - address_display
                              - phone_display
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'directory.preferences.household:read'
    parameters:
      - name: id
        in: path
        description: Household Directory Type Preference ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Directory Preferences: Household'
      summary: 'Update Directory Preferences: Household'
      operationId: update_directory_preferences_household
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Household Directory Type Preference ID
                      readOnly: true
                    household_id:
                      type: integer
                      description: Household ID
                    household_name:
                      type: string
                      description: Household Name
                    directory_type:
                      type: integer
                      description: Directory Type
                    status:
                      type: integer
                      description: Status
                    visibility:
                      type: integer
                      description: Visible
                    address_display:
                      type: integer
                      description: Address Display Format
                    phone_display:
                      type: integer
                      description: Phone Display Setting
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'directory.preferences.household:update'
  /directory/preferences/people:
    get:
      tags:
        - 'Directory Preferences: Person'
      summary: 'List Directory Preferences: Person'
      operationId: list_directory_preferences_person
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: person_name
          in: query
          description: Person Name
          required: false
          schema:
            type: string
        - name: directory_type
          in: query
          description: Directory Type
          required: false
          schema:
            type: integer
        - name: status
          in: query
          description: Status
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person Directory Type Preference ID
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                        person_name:
                          type: string
                          description: Person Name
                          readOnly: true
                        directory_type:
                          type: integer
                          description: Directory Type
                        status:
                          type: integer
                          description: Status
                        parents_display:
                          type: integer
                          description: |-
                            Parents Display Setting

                            “Legal Custody” means that the student displays in the in the household of the directory type for any parents with legal custody.



                            “All Parents” means that the student displays in the household of all parents irrespective of custody.
                        photo_display:
                          type: integer
                          description: Photo Display Setting
                        mobile_phone_display:
                          type: integer
                          description: Mobile Phone Display Setting
                        email_1_display:
                          type: integer
                          description: Email 1 Display Setting
                        email_2_display:
                          type: integer
                          description: Email 2 Display Setting
                        business_phone_display:
                          type: integer
                          description: Business Phone Display Setting
                      required:
                        - id
                        - person_id
                        - person_name
                        - directory_type
                        - status
                        - parents_display
                        - photo_display
                        - mobile_phone_display
                        - email_1_display
                        - email_2_display
                        - business_phone_display
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - directory_type
                              - status
                              - parents_display
                              - photo_display
                              - mobile_phone_display
                              - email_1_display
                              - email_2_display
                              - business_phone_display
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'directory.preferences.people:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/directory/preferences/people/{id}':
    get:
      tags:
        - 'Directory Preferences: Person'
      summary: 'Read Directory Preferences: Person'
      operationId: read_directory_preferences_person
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person Directory Type Preference ID
                        readOnly: true
                      person_id:
                        type: integer
                        description: Person ID
                      person_name:
                        type: string
                        description: Person Name
                        readOnly: true
                      directory_type:
                        type: integer
                        description: Directory Type
                      status:
                        type: integer
                        description: Status
                      parents_display:
                        type: integer
                        description: |-
                          Parents Display Setting

                          “Legal Custody” means that the student displays in the in the household of the directory type for any parents with legal custody.



                          “All Parents” means that the student displays in the household of all parents irrespective of custody.
                      photo_display:
                        type: integer
                        description: Photo Display Setting
                      mobile_phone_display:
                        type: integer
                        description: Mobile Phone Display Setting
                      email_1_display:
                        type: integer
                        description: Email 1 Display Setting
                      email_2_display:
                        type: integer
                        description: Email 2 Display Setting
                      business_phone_display:
                        type: integer
                        description: Business Phone Display Setting
                    required:
                      - id
                      - person_id
                      - person_name
                      - directory_type
                      - status
                      - parents_display
                      - photo_display
                      - mobile_phone_display
                      - email_1_display
                      - email_2_display
                      - business_phone_display
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - directory_type
                              - status
                              - parents_display
                              - photo_display
                              - mobile_phone_display
                              - email_1_display
                              - email_2_display
                              - business_phone_display
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'directory.preferences.people:read'
    parameters:
      - name: id
        in: path
        description: Person Directory Type Preference ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Directory Preferences: Person'
      summary: 'Update Directory Preferences: Person'
      operationId: update_directory_preferences_person
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person Directory Type Preference ID
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person ID
                    person_name:
                      type: string
                      description: Person Name
                      readOnly: true
                    directory_type:
                      type: integer
                      description: Directory Type
                    status:
                      type: integer
                      description: Status
                    parents_display:
                      type: integer
                      description: |-
                        Parents Display Setting

                        “Legal Custody” means that the student displays in the in the household of the directory type for any parents with legal custody.



                        “All Parents” means that the student displays in the household of all parents irrespective of custody.
                    photo_display:
                      type: integer
                      description: Photo Display Setting
                    mobile_phone_display:
                      type: integer
                      description: Mobile Phone Display Setting
                    email_1_display:
                      type: integer
                      description: Email 1 Display Setting
                    email_2_display:
                      type: integer
                      description: Email 2 Display Setting
                    business_phone_display:
                      type: integer
                      description: Business Phone Display Setting
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'directory.preferences.people:update'
  /directory/configurations:
    get:
      tags:
        - Directory Type Configurations
      summary: List Directory Type Configurations
      operationId: list_directory_type_configurations
      parameters:
        - name: directory_type
          in: query
          description: Directory Type
          required: false
          schema:
            type: integer
        - name: category
          in: query
          description: Category
          required: false
          schema:
            type: string
            maxLength: 200
        - name: configuration
          in: query
          description: Configuration
          required: false
          schema:
            type: string
            maxLength: 50
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Directory Type Configuration ID
                          readOnly: true
                        directory_type:
                          type: integer
                          description: Directory Type
                        category:
                          type: string
                          description: Category
                          maxLength: 200
                        description:
                          type: string
                          description: Description
                          maxLength: 100
                        preference_key:
                          type: string
                          description: Configuration
                          maxLength: 50
                        options_json:
                          type: string
                          description: |-
                            Value List

                            A JSON string representing the values possible for this particular directory type configuration record.
                          readOnly: true
                          maxLength: 50
                        value:
                          type: string
                          description: Value
                          maxLength: 50
                        notes:
                          type: string
                          description: Notes
                          maxLength: 500
                      required:
                        - id
                        - directory_type
                        - category
                        - description
                        - preference_key
                        - options_json
                        - value
                        - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - directory_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'directory.configurations:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  /directory/household:
    get:
      tags:
        - 'Directory: Household'
      summary: 'List Directory: Household'
      description: 'The List Directory: Household endpoint mirrors the information shown for directory entries in the general Household directory in the portals. Information is automatically refreshed nightly or by manually running the "Refresh Directory Entries" action item on the directory.'
      operationId: list_directory_household
      parameters:
        - name: first_name
          in: query
          description: First Name Filter
          required: false
          schema:
            type: string
            maxLength: 1000
        - name: last_name
          in: query
          description: Last Name Filter
          required: false
          schema:
            type: string
            maxLength: 1000
        - name: names
          in: query
          description: Name Filter
          required: false
          schema:
            type: string
        - name: household_location
          in: query
          description: Household Location Filter
          required: false
          schema:
            type: string
            maxLength: 100
        - name: household_city
          in: query
          description: Household City Filter
          required: false
          schema:
            type: string
            maxLength: 4000
        - name: household_postal_code
          in: query
          description: Household Postal Code Filter
          required: false
          schema:
            type: string
            maxLength: 4000
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        household_id:
                          type: integer
                          description: Household ID
                        entry_sort_name:
                          type: string
                          description: Entry Sort Name
                          maxLength: 500
                        name:
                          type: string
                          description: Household Name
                          maxLength: 50
                        phone:
                          type: string
                          description: Household Phone
                          maxLength: 50
                        address:
                          type: string
                          description: Household Address
                          maxLength: 1000
                        household_google_maps_url:
                          type: string
                          description: Household Google Maps Url
                          maxLength: 1000
                        person_1_id:
                          type: integer
                          description: Hoh ID
                        person_1_full_name:
                          type: string
                          description: Hoh Full Name
                          maxLength: 500
                        person_1_email:
                          type: string
                          description: Hoh Email
                          maxLength: 100
                        person_1_email_2:
                          type: string
                          description: Hoh Email 2
                          maxLength: 100
                        person_1_phone_mobile:
                          type: string
                          description: Hoh Phone Mobile
                          maxLength: 50
                        person_1_phone_business:
                          type: string
                          description: Hoh Phone Business
                          maxLength: 50
                        person_2_id:
                          type: integer
                          description: Spouse ID
                        person_2_full_name:
                          type: string
                          description: Spouse Full Name
                          maxLength: 500
                        person_2_email:
                          type: string
                          description: Spouse Email
                          maxLength: 100
                        person_2_email_2:
                          type: string
                          description: Spouse Email 2
                          maxLength: 100
                        person_2_phone_mobile:
                          type: string
                          description: Spouse Phone Mobile
                          maxLength: 50
                        person_2_phone_business:
                          type: string
                          description: Spouse Phone Business
                          maxLength: 50
                        related_students:
                          type: string
                          description: Related Students
                          maxLength: 1500
                      required:
                        - household_id
                        - entry_sort_name
                        - name
                        - phone
                        - address
                        - household_google_maps_url
                        - person_1_id
                        - person_1_full_name
                        - person_1_email
                        - person_1_email_2
                        - person_1_phone_mobile
                        - person_1_phone_business
                        - person_2_id
                        - person_2_full_name
                        - person_2_email
                        - person_2_email_2
                        - person_2_phone_mobile
                        - person_2_phone_business
                        - related_students
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'directory.household:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  /directory/staff_faculty:
    get:
      tags:
        - 'Directory: Staff/Faculty'
      summary: 'List Directory: Staff/Faculty'
      description: 'The List Directory: Staff/Faculty endpoint mirrors the information shown for directory entries in the general Staff/Faculty directory in the portals. Information is automatically refreshed nightly or by manually running the "Refresh Directory Entries" action item on the directory.'
      operationId: list_directory_staff_faculty
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: first_name
          in: query
          description: Person Entry Filter First Names
          required: false
          schema:
            type: string
            maxLength: 1000
        - name: last_name
          in: query
          description: Person Entry Filter Last Names
          required: false
          schema:
            type: string
            maxLength: 1000
        - name: names
          in: query
          description: Person Entry Filter Names
          required: false
          schema:
            type: string
        - name: campus
          in: query
          description: Person Campus
          required: false
          schema:
            type: string
            maxLength: 4000
        - name: department
          in: query
          description: Person Department
          required: false
          schema:
            type: string
            maxLength: 4000
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        person_id:
                          type: integer
                          description: Person ID
                        entry_sort_name:
                          type: string
                          description: Entry Sort Name
                          maxLength: 500
                        full_name:
                          type: string
                          description: Person Full Name
                          maxLength: 500
                        first_name:
                          type: string
                          description: Person Entry Filter First Names
                          maxLength: 1000
                        last_name:
                          type: string
                          description: Person Entry Filter Last Names
                          maxLength: 1000
                        names:
                          type: string
                          description: Person Entry Filter Names
                          readOnly: true
                        photo_url:
                          type: string
                          description: Person Photo URL
                          maxLength: 250
                        job_title:
                          type: string
                          description: Person Job Title
                          maxLength: 200
                        room:
                          type: string
                          description: Person Room
                          maxLength: 100
                        campus:
                          type: string
                          description: Person Campus
                          maxLength: 4000
                        school_level:
                          type: string
                          description: Person School Level
                          maxLength: 4000
                        faculty_type:
                          type: string
                          description: Person Faculty Type
                          maxLength: 4000
                        department:
                          type: string
                          description: Person Department
                          maxLength: 4000
                        biography:
                          type: string
                          description: Person Biography
                          maxLength: 3000
                        email:
                          type: string
                          description: Person Email
                          maxLength: 100
                        email_2:
                          type: string
                          description: Person Email 2
                          maxLength: 100
                        phone_business:
                          type: string
                          description: Person Phone Business
                          maxLength: 50
                      required:
                        - person_id
                        - entry_sort_name
                        - full_name
                        - first_name
                        - last_name
                        - names
                        - photo_url
                        - job_title
                        - room
                        - campus
                        - school_level
                        - faculty_type
                        - department
                        - biography
                        - email
                        - email_2
                        - phone_business
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'directory.staff_faculty:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  /directory/student:
    get:
      tags:
        - 'Directory: Student'
      summary: 'List Directory: Student'
      description: 'The List Directory: Student endpoint mirrors the information shown for directory entries in the general Student directory in the portals. Information is automatically refreshed nightly or by manually running the "Refresh Directory Entries" action item on the directory.'
      operationId: list_directory_student
      parameters:
        - name: grade_level
          in: query
          description: Student Grade Level
          required: false
          schema:
            type: string
            maxLength: 4000
        - name: student_group
          in: query
          description: Student Group
          required: false
          schema:
            type: string
            maxLength: 4000
        - name: homeroom
          in: query
          description: Student Homeroom
          required: false
          schema:
            type: string
            maxLength: 4000
        - name: school_level
          in: query
          description: Student School Level
          required: false
          schema:
            type: string
            maxLength: 4000
        - name: campus
          in: query
          description: Student Campus
          required: false
          schema:
            type: string
            maxLength: 4000
        - name: first_name
          in: query
          description: |-
            First Name Filter

            This filter will search based on first name and/or preferred name displayed for students and parents in the directory entries. How student and parent names are displayed is configured in the Student Directory configuration settings.
          required: false
          schema:
            type: string
            maxLength: 1000
        - name: last_name
          in: query
          description: Last Name Filter
          required: false
          schema:
            type: string
            maxLength: 1000
        - name: names
          in: query
          description: Name Filter
          required: false
          schema:
            type: string
        - name: household_location
          in: query
          description: Household Location Filter
          required: false
          schema:
            type: string
            maxLength: 100
        - name: household_city
          in: query
          description: Household City Filter
          required: false
          schema:
            type: string
            maxLength: 4000
        - name: household_postal_code
          in: query
          description: Household Postal Code Filter
          required: false
          schema:
            type: string
            maxLength: 4000
        - name: grade_level_id
          in: query
          description: Grade Level ID
          required: false
          schema:
            type: integer
        - name: student_group_id
          in: query
          description: Student Group ID
          required: false
          schema:
            type: integer
        - name: homeroom_id
          in: query
          description: Homeroom ID
          required: false
          schema:
            type: integer
        - name: campus_id
          in: query
          description: Campus ID
          required: false
          schema:
            type: integer
        - name: school_level_id
          in: query
          description: School Level ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        student_id:
                          type: string
                          description: Student ID
                        entry_sort_name:
                          type: string
                          description: Entry Sort Name
                          maxLength: 500
                        full_name:
                          type: string
                          description: Student Full Name
                          maxLength: 500
                        grade_level:
                          type: string
                          description: Student Grade Level
                          maxLength: 4000
                        student_group:
                          type: string
                          description: Student Group
                          maxLength: 4000
                        homeroom:
                          type: string
                          description: Student Homeroom
                          maxLength: 4000
                        school_level:
                          type: string
                          description: Student School Level
                          maxLength: 4000
                        campus:
                          type: string
                          description: Student Campus
                          maxLength: 4000
                        email:
                          type: string
                          description: Student Email
                          maxLength: 100
                        phone_mobile:
                          type: string
                          description: Student Phone Mobile
                          maxLength: 50
                        household_1_id:
                          type: string
                          description: Household 1 ID
                        household_1_name:
                          type: string
                          description: Household 1 Name
                          maxLength: 50
                        household_1_phone:
                          type: string
                          description: Household 1 Phone
                          maxLength: 50
                        household_1_address:
                          type: string
                          description: Household 1 Address
                          maxLength: 1000
                        household_1_google_maps_url:
                          type: string
                          description: Household 1 Google Maps Url
                          maxLength: 1000
                        household_1_person_1_id:
                          type: string
                          description: Household 1 Hoh ID
                        household_1_person_1_full_name:
                          type: string
                          description: Household 1 Hoh Full Name
                          maxLength: 500
                        household_1_person_1_email:
                          type: string
                          description: Household 1 Hoh Email
                          maxLength: 100
                        household_1_person_1_email_2:
                          type: string
                          description: Household 1 Hoh Email 2
                          maxLength: 100
                        household_1_person_1_phone_mobile:
                          type: string
                          description: Household 1 Hoh Phone Mobile
                          maxLength: 50
                        household_1_person_1_phone_business:
                          type: string
                          description: Household 1 Hoh Phone Business
                          maxLength: 50
                        household_1_person_2_id:
                          type: string
                          description: Household 1 Spouse ID
                        household_1_person_2_full_name:
                          type: string
                          description: Household 1 Spouse Full Name
                          maxLength: 500
                        household_1_person_2_email:
                          type: string
                          description: Household 1 Spouse Email
                          maxLength: 100
                        household_1_person_2_email_2:
                          type: string
                          description: Household 1 Spouse Email 2
                          maxLength: 100
                        household_1_person_2_phone_mobile:
                          type: string
                          description: Household 1 Spouse Phone Mobile
                          maxLength: 50
                        household_1_person_2_phone_business:
                          type: string
                          description: Household 1 Spouse Phone Business
                          maxLength: 50
                        household_2_id:
                          type: string
                          description: Household 2 ID
                        household_2_name:
                          type: string
                          description: Household 2 Name
                          maxLength: 50
                        household_2_phone:
                          type: string
                          description: Household 2 Phone
                          maxLength: 50
                        household_2_address:
                          type: string
                          description: Household 2 Address
                          maxLength: 1000
                        household_2_google_maps_url:
                          type: string
                          description: Household 2 Google Maps Url
                          maxLength: 1000
                        household_2_person_1_id:
                          type: string
                          description: Household 2 Hoh ID
                        household_2_person_1_full_name:
                          type: string
                          description: Household 2 Hoh Full Name
                          maxLength: 500
                        household_2_person_1_email:
                          type: string
                          description: Household 2 Hoh Email
                          maxLength: 100
                        household_2_person_1_email_2:
                          type: string
                          description: Household 2 Hoh Email 2
                          maxLength: 100
                        household_2_person_1_phone_mobile:
                          type: string
                          description: Household 2 Hoh Phone Mobile
                          maxLength: 50
                        household_2_person_1_phone_business:
                          type: string
                          description: Household 2 Hoh Phone Business
                          maxLength: 50
                        household_2_person_2_id:
                          type: string
                          description: Household 2 Spouse ID
                        household_2_person_2_full_name:
                          type: string
                          description: Household 2 Spouse Full Name
                          maxLength: 500
                        household_2_person_2_email:
                          type: string
                          description: Household 2 Spouse Email
                          maxLength: 100
                        household_2_person_2_email_2:
                          type: string
                          description: Household 2 Spouse Email 2
                          maxLength: 100
                        household_2_person_2_phone_mobile:
                          type: string
                          description: Household 2 Spouse Phone Mobile
                          maxLength: 50
                        household_2_person_2_phone_business:
                          type: string
                          description: Household 2 Spouse Phone Business
                          maxLength: 50
                      required:
                        - student_id
                        - entry_sort_name
                        - full_name
                        - grade_level
                        - student_group
                        - homeroom
                        - school_level
                        - campus
                        - email
                        - phone_mobile
                        - household_1_id
                        - household_1_name
                        - household_1_phone
                        - household_1_address
                        - household_1_google_maps_url
                        - household_1_person_1_id
                        - household_1_person_1_full_name
                        - household_1_person_1_email
                        - household_1_person_1_email_2
                        - household_1_person_1_phone_mobile
                        - household_1_person_1_phone_business
                        - household_1_person_2_id
                        - household_1_person_2_full_name
                        - household_1_person_2_email
                        - household_1_person_2_email_2
                        - household_1_person_2_phone_mobile
                        - household_1_person_2_phone_business
                        - household_2_id
                        - household_2_name
                        - household_2_phone
                        - household_2_address
                        - household_2_google_maps_url
                        - household_2_person_1_id
                        - household_2_person_1_full_name
                        - household_2_person_1_email
                        - household_2_person_1_email_2
                        - household_2_person_1_phone_mobile
                        - household_2_person_1_phone_business
                        - household_2_person_2_id
                        - household_2_person_2_full_name
                        - household_2_person_2_email
                        - household_2_person_2_email_2
                        - household_2_person_2_phone_mobile
                        - household_2_person_2_phone_business
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - grade_level_id
                              - student_group_id
                              - homeroom_id
                              - campus_id
                              - school_level_id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'directory.student:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  /emergency_contacts:
    post:
      tags:
        - Emergency Contacts
      summary: Create Emergency Contacts
      description: 'Either "person_id", or "first_name" and "last_name", is required to create an emergency contact.'
      operationId: create_emergency_contacts
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person Person ID
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person ID
                    student_id:
                      type: integer
                      description: Student ID
                    first_name:
                      type: string
                      description: First Name
                      maxLength: 50
                    middle_name:
                      type: string
                      description: Middle Name
                      maxLength: 50
                    last_name:
                      type: string
                      description: Last Name
                      maxLength: 50
                    nick_name:
                      type: string
                      description: Nick Name
                      maxLength: 50
                    relationship:
                      type: integer
                      description: |-
                        Relationship

                        The relationship this emergency contact has to the student
                    legal_custody:
                      type: boolean
                      description: Legal Custody
                    pick_up:
                      type: boolean
                      description: Pick Up
                    medical_notification:
                      type: boolean
                      description: Medical Notification
                    email_1:
                      type: string
                      description: Email 1
                      maxLength: 100
                    email_2:
                      type: string
                      description: Email 2
                      maxLength: 100
                    home_phone:
                      type: string
                      description: Home Phone
                      maxLength: 30
                    mobile_phone:
                      type: string
                      description: Mobile Phone
                      maxLength: 30
                    business_phone:
                      type: string
                      description: Business Phone
                      maxLength: 30
                    address_1:
                      type: string
                      description: Address 1
                      maxLength: 200
                    address_2:
                      type: string
                      description: Address 2
                      maxLength: 200
                    city:
                      type: string
                      description: City
                      maxLength: 50
                    state_province:
                      type: string
                      description: State Province
                      maxLength: 50
                    postal_code:
                      type: string
                      description: Postal Code
                      maxLength: 20
                    country:
                      type: integer
                      description: Country
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                    is_medical_provider:
                      type: boolean
                      description: |-
                        Is Medical Provider

                        Denotes doctor or dentist relationship
                      readOnly: true
                  required:
                    - person_id
                    - student_id
                    - last_name
                    - relationship
                    - legal_custody
                    - pick_up
                    - medical_notification
                    - country
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'emergency_contacts:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - Emergency Contacts
      summary: List Emergency Contacts
      description: 'Either "person_id", or "first_name" and "last_name", is required to create an emergency contact.'
      operationId: list_emergency_contacts
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: student_id
          in: query
          description: Student ID
          required: false
          schema:
            type: integer
        - name: relationship
          in: query
          description: |-
            Relationship

            The relationship this emergency contact has to the student
          required: false
          schema:
            type: integer
        - name: legal_custody
          in: query
          description: Legal Custody
          required: false
          schema:
            type: boolean
        - name: pick_up
          in: query
          description: Pick Up
          required: false
          schema:
            type: boolean
        - name: medical_notification
          in: query
          description: Medical Notification
          required: false
          schema:
            type: boolean
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: student_role
          in: query
          description: Role
          required: false
          schema:
            type: integer
        - name: is_medical_provider
          in: query
          description: |-
            Is Medical Provider

            Denotes doctor or dentist relationship
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person Person ID
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                        student_id:
                          type: integer
                          description: Student ID
                        first_name:
                          type: string
                          description: First Name
                          maxLength: 50
                        middle_name:
                          type: string
                          description: Middle Name
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name
                          maxLength: 50
                        nick_name:
                          type: string
                          description: Nick Name
                          maxLength: 50
                        relationship:
                          type: integer
                          description: |-
                            Relationship

                            The relationship this emergency contact has to the student
                        legal_custody:
                          type: boolean
                          description: Legal Custody
                        pick_up:
                          type: boolean
                          description: Pick Up
                        medical_notification:
                          type: boolean
                          description: Medical Notification
                        email_1:
                          type: string
                          description: Email 1
                          maxLength: 100
                        email_2:
                          type: string
                          description: Email 2
                          maxLength: 100
                        home_phone:
                          type: string
                          description: Home Phone
                          maxLength: 30
                        mobile_phone:
                          type: string
                          description: Mobile Phone
                          maxLength: 30
                        business_phone:
                          type: string
                          description: Business Phone
                          maxLength: 30
                        address_1:
                          type: string
                          description: Address 1
                          maxLength: 200
                        address_2:
                          type: string
                          description: Address 2
                          maxLength: 200
                        city:
                          type: string
                          description: City
                          maxLength: 50
                        state_province:
                          type: string
                          description: State Province
                          maxLength: 50
                        postal_code:
                          type: string
                          description: Postal Code
                          maxLength: 20
                        country:
                          type: integer
                          description: Country
                        notes:
                          type: string
                          description: Notes
                          maxLength: 1000
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                        is_medical_provider:
                          type: boolean
                          description: |-
                            Is Medical Provider

                            Denotes doctor or dentist relationship
                          readOnly: true
                      required:
                        - id
                        - person_id
                        - student_id
                        - first_name
                        - middle_name
                        - last_name
                        - nick_name
                        - relationship
                        - legal_custody
                        - pick_up
                        - medical_notification
                        - email_1
                        - email_2
                        - home_phone
                        - mobile_phone
                        - business_phone
                        - address_1
                        - address_2
                        - city
                        - state_province
                        - postal_code
                        - country
                        - notes
                        - last_modified_date
                        - is_medical_provider
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - relationship
                              - country
                              - student_role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'emergency_contacts:list'
  '/emergency_contacts/{id}':
    delete:
      tags:
        - Emergency Contacts
      summary: Delete Emergency Contacts
      operationId: delete_emergency_contacts
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'emergency_contacts:delete'
    parameters:
      - name: id
        in: path
        description: Person Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - Emergency Contacts
      summary: Read Emergency Contacts
      operationId: read_emergency_contacts
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person Person ID
                        readOnly: true
                      person_id:
                        type: integer
                        description: Person ID
                      student_id:
                        type: integer
                        description: Student ID
                      first_name:
                        type: string
                        description: First Name
                        maxLength: 50
                      middle_name:
                        type: string
                        description: Middle Name
                        maxLength: 50
                      last_name:
                        type: string
                        description: Last Name
                        maxLength: 50
                      nick_name:
                        type: string
                        description: Nick Name
                        maxLength: 50
                      relationship:
                        type: integer
                        description: |-
                          Relationship

                          The relationship this emergency contact has to the student
                      legal_custody:
                        type: boolean
                        description: Legal Custody
                      pick_up:
                        type: boolean
                        description: Pick Up
                      medical_notification:
                        type: boolean
                        description: Medical Notification
                      email_1:
                        type: string
                        description: Email 1
                        maxLength: 100
                      email_2:
                        type: string
                        description: Email 2
                        maxLength: 100
                      home_phone:
                        type: string
                        description: Home Phone
                        maxLength: 30
                      mobile_phone:
                        type: string
                        description: Mobile Phone
                        maxLength: 30
                      business_phone:
                        type: string
                        description: Business Phone
                        maxLength: 30
                      address_1:
                        type: string
                        description: Address 1
                        maxLength: 200
                      address_2:
                        type: string
                        description: Address 2
                        maxLength: 200
                      city:
                        type: string
                        description: City
                        maxLength: 50
                      state_province:
                        type: string
                        description: State Province
                        maxLength: 50
                      postal_code:
                        type: string
                        description: Postal Code
                        maxLength: 20
                      country:
                        type: integer
                        description: Country
                      notes:
                        type: string
                        description: Notes
                        maxLength: 1000
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                    required:
                      - id
                      - person_id
                      - student_id
                      - first_name
                      - middle_name
                      - last_name
                      - nick_name
                      - relationship
                      - legal_custody
                      - pick_up
                      - medical_notification
                      - email_1
                      - email_2
                      - home_phone
                      - mobile_phone
                      - business_phone
                      - address_1
                      - address_2
                      - city
                      - state_province
                      - postal_code
                      - country
                      - notes
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - relationship
                              - country
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'emergency_contacts:read'
    patch:
      tags:
        - Emergency Contacts
      summary: Update Emergency Contacts
      operationId: update_emergency_contacts
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person Person ID
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person ID
                    student_id:
                      type: integer
                      description: Student ID
                    first_name:
                      type: string
                      description: First Name
                      maxLength: 50
                    middle_name:
                      type: string
                      description: Middle Name
                      maxLength: 50
                    last_name:
                      type: string
                      description: Last Name
                      maxLength: 50
                    nick_name:
                      type: string
                      description: Nick Name
                      maxLength: 50
                    relationship:
                      type: integer
                      description: |-
                        Relationship

                        The relationship this emergency contact has to the student
                    legal_custody:
                      type: boolean
                      description: Legal Custody
                    pick_up:
                      type: boolean
                      description: Pick Up
                    medical_notification:
                      type: boolean
                      description: Medical Notification
                    email_1:
                      type: string
                      description: Email 1
                      maxLength: 100
                    email_2:
                      type: string
                      description: Email 2
                      maxLength: 100
                    home_phone:
                      type: string
                      description: Home Phone
                      maxLength: 30
                    mobile_phone:
                      type: string
                      description: Mobile Phone
                      maxLength: 30
                    business_phone:
                      type: string
                      description: Business Phone
                      maxLength: 30
                    address_1:
                      type: string
                      description: Address 1
                      maxLength: 200
                    address_2:
                      type: string
                      description: Address 2
                      maxLength: 200
                    city:
                      type: string
                      description: City
                      maxLength: 50
                    state_province:
                      type: string
                      description: State Province
                      maxLength: 50
                    postal_code:
                      type: string
                      description: Postal Code
                      maxLength: 20
                    country:
                      type: integer
                      description: Country
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'emergency_contacts:update'
  /event_groups:
    post:
      tags:
        - Event Groups
      summary: Create Event Groups
      description: 'These records represent the connection between Groups and Events inside the system. You can filter by "Event ID" and/or "Group ID" to get groups tied to a specific event, or events that a specific group is attending.'
      operationId: create_event_groups
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    event_group_id:
                      type: integer
                      description: Event Group ID
                      readOnly: true
                    event_id:
                      type: integer
                      description: Event ID
                    group_id:
                      type: integer
                      description: Group ID
                  required:
                    - event_id
                    - group_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'event_groups:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - Event Groups
      summary: List Event Groups
      description: 'These records represent the connection between Groups and Events inside the system. You can filter by "Event ID" and/or "Group ID" to get groups tied to a specific event, or events that a specific group is attending.'
      operationId: list_event_groups
      parameters:
        - name: event_id
          in: query
          description: Event ID
          required: false
          schema:
            type: integer
        - name: group_id
          in: query
          description: Group ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        event_group_id:
                          type: integer
                          description: Event Group ID
                          readOnly: true
                        event_id:
                          type: integer
                          description: Event ID
                        group_id:
                          type: integer
                          description: Group ID
                      required:
                        - event_group_id
                        - event_id
                        - group_id
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'event_groups:list'
  '/event_groups/{id}':
    delete:
      tags:
        - Event Groups
      summary: Delete Event Groups
      description: 'These records represent the connection between Groups and Events inside the system. You can filter by "Event ID" and/or "Group ID" to get groups tied to a specific event, or events that a specific group is attending.'
      operationId: delete_event_groups
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'event_groups:delete'
    parameters:
      - name: id
        in: path
        description: Event Group ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - Event Groups
      summary: Read Event Groups
      description: 'These records represent the connection between Groups and Events inside the system. You can filter by "Event ID" and/or "Group ID" to get groups tied to a specific event, or events that a specific group is attending.'
      operationId: read_event_groups
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      event_group_id:
                        type: integer
                        description: Event Group ID
                        readOnly: true
                      event_id:
                        type: integer
                        description: Event ID
                      group_id:
                        type: integer
                        description: Group ID
                    required:
                      - event_group_id
                      - event_id
                      - group_id
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'event_groups:read'
  /event_groups_members:
    get:
      tags:
        - Event Groups Members
      summary: List Event Groups Members
      description: 'This endpoint provides, based on an event ID supplied, the group IDs of the groups attached to the event and the person IDs of people attached to the groups. If a person is in more than one group attached to the event, their ID will be returned more than once for the event and associated with each group they are a part of related to the event.'
      operationId: list_event_groups_members
      parameters:
        - name: event_group_id
          in: query
          description: Event Group ID
          required: false
          schema:
            type: integer
        - name: event_id
          in: query
          description: Event ID
          required: false
          schema:
            type: integer
        - name: group_id
          in: query
          description: Internal Group ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        event_group_id:
                          type: integer
                          description: Event Group ID
                          readOnly: true
                        event_id:
                          type: integer
                          description: Event ID
                        group_id:
                          type: integer
                          description: Internal Group ID
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                      required:
                        - event_group_id
                        - event_id
                        - group_id
                        - person_id
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'event_groups_members:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  /event_representatives:
    get:
      tags:
        - Event Representatives
      summary: List Event Representatives
      description: "The event representatives endpoint returns the following person IDs related to each group event record. Its default parameters are to return group events starting today.\r\n\r\n1. Contact Person - the contact person on the group event.\r\n2. Primary Representative - teachers/coaches who are associated with the class/team (via class permission records) which is the primary group associated with the event.\r\n3. Primary Representative View Attendance - whether the teacher/coach that is a primary representative is able to view daily attendance records on the associated class/team.\r\n\r\nIt is possible for a person to be both a contact person and primary representative for a group event and will be denoted as such."
      operationId: list_event_representatives
      parameters:
        - name: group_event_id
          in: query
          description: Event ID
          required: false
          schema:
            type: integer
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: on_or_before_start_date
          in: query
          description: Start Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_start_date
          in: query
          description: Start Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_end_date
          in: query
          description: End Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_end_date
          in: query
          description: End Date
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        group_event_id:
                          type: integer
                          description: Event ID
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        contact_person:
                          type: boolean
                          description: Contact Person
                        primary_representative:
                          type: boolean
                          description: Primary Facstaff
                        primary_representative_view_attendance:
                          type: boolean
                          description: Primary Facstaff View Attendance
                      required:
                        - group_event_id
                        - person_id
                        - contact_person
                        - primary_representative
                        - primary_representative_view_attendance
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'event_representatives:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/events/group_events/{event_id}':
    get:
      tags:
        - Events
      summary: Read Events
      operationId: read_events
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Event ID
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 200
                      location:
                        type: string
                        description: Location
                        maxLength: 255
                      virtual_location_url:
                        type: string
                        description: Virtual Location URL
                      depart_from:
                        type: string
                        description: Depart From
                        maxLength: 50
                      google_map:
                        type: string
                        description: Map
                        readOnly: true
                      google_directions_from_school:
                        type: string
                        description: Directions from School
                        readOnly: true
                      campus_id:
                        type: integer
                        description: Campus
                      campus_description:
                        type: string
                        description: Campus Description
                        readOnly: true
                      internal_group_id:
                        type: integer
                        description: Internal Group ID
                      group_description:
                        type: string
                        description: Primary Group Name
                        readOnly: true
                      groups:
                        type: string
                        description: Groups Included
                        readOnly: true
                      student_group_id:
                        type: integer
                        description: Student Group
                      student_group_description:
                        type: string
                        description: Student Group Description
                        readOnly: true
                      contact_person_id:
                        type: integer
                        description: Contact Person ID
                      contact_person_name:
                        type: string
                        description: First Last
                        readOnly: true
                      event_type_id:
                        type: integer
                        description: Event Type
                      event_type_description:
                        type: string
                        description: Event Type Description
                        readOnly: true
                      event_status_id:
                        type: integer
                        description: Event Status
                      event_status_description:
                        type: string
                        description: Event Status Description
                        readOnly: true
                      grade_level:
                        type: integer
                        description: |-
                          Grade Level

                          The grade level associated with this event.



                          Within the context of parent/teacher conferences, this field is used in conjunction with the School Level field to determine who is eligible to sign up for a conference. Example: if School Level = Upper School and Grade Level = Grade 8, any parent of a student in Upper School OR Grade 8 is eligible to sign up for the conference slot.
                      school_level_id:
                        type: integer
                        description: |-
                          School Level

                          The school level associated with this event.



                          Within the context of parent/teacher conferences, this field is used in conjunction with the Grade Level field to determine who is eligible to sign up for a conference. Example: if School Level = Upper School and Grade Level = Grade 8, any parent of a student in Upper School OR Grade 8 is eligible to sign up for the conference slot.
                      school_level_description:
                        type: string
                        description: School Level Description
                        readOnly: true
                      start_date:
                        type: string
                        format: date
                        description: Start Date
                      end_date:
                        type: string
                        description: End Date
                        maxLength: 10
                      start_time:
                        type: string
                        description: Start Time
                        maxLength: 8
                      end_time:
                        type: string
                        description: End Time
                        maxLength: 8
                      update_date:
                        type: string
                        format: date
                        description: Update Date
                      url:
                        type: string
                        description: URL
                        maxLength: 100
                      notes:
                        type: string
                        description: Notes
                        maxLength: 1000
                      catering_notes:
                        type: string
                        description: Catering Notes
                        maxLength: 1000
                      av_notes:
                        type: string
                        description: Audio/Visual Notes
                        maxLength: 1000
                      maintenance_notes:
                        type: string
                        description: Maintenance Notes
                        maxLength: 1000
                      cleaning_notes:
                        type: string
                        description: Cleaning Notes
                        maxLength: 1000
                      security_notes:
                        type: string
                        description: Security Notes
                        maxLength: 1000
                      follow_up_notes:
                        type: string
                        description: Follow Up Notes
                        maxLength: 1000
                      resource_id:
                        type: integer
                        description: Resource ID (First Created)
                        readOnly: true
                      public:
                        type: boolean
                        description: Display On Public Calendar
                      series_template:
                        type: boolean
                        description: |-
                          Series Master Event

                          If selected, individual events will be created for each day that the event takes place
                      attendance_taken:
                        type: integer
                        description: Attendance Taken
                      campus_departure_time:
                        type: string
                        description: Campus Departure Time
                        maxLength: 8
                      campus_return_time:
                        type: string
                        description: Campus Return Time
                        maxLength: 8
                      class_attendance_status:
                        type: integer
                        description: |-
                          Class Attendance Status

                          The class attendance status that will be used for students who participate in this event. This value will be applied to class attendance for all the classes affected by this event between Class Departure Time and Campus Return Time.
                      class_departure_time:
                        type: string
                        description: Class Departure Time
                        maxLength: 8
                      daily_attendance_status:
                        type: integer
                        description: |-
                          Daily Attendance Status

                          The daily attendance status that will be used for students who participate in this event. This value will be applied to daily attendance for all the students affected by this event. Leaving this value set as &quot;none specified&quot; will leave the daily attendance status as &quot;Present&quot; for all the students.
                      display_on_alumni_calendar:
                        type: boolean
                        description: Display On Alumni Calendar
                      display_on_group_members_calendar:
                        type: boolean
                        description: Display On Group Members Calendar
                      display_on_parent_calendar:
                        type: boolean
                        description: Display On Parent Calendar
                      display_on_staff_faculty_calendar:
                        type: boolean
                        description: Display On Staff/Faculty Calendar
                      display_on_student_calendar:
                        type: boolean
                        description: Display On Student Calendar
                      internal_location_resource_id:
                        type: integer
                        description: Internal Location Resource ID
                      venue_departure_time:
                        type: string
                        description: Venue Departure Time
                        maxLength: 8
                    required:
                      - id
                      - description
                      - location
                      - virtual_location_url
                      - depart_from
                      - google_map
                      - google_directions_from_school
                      - campus_id
                      - campus_description
                      - internal_group_id
                      - group_description
                      - groups
                      - student_group_id
                      - student_group_description
                      - contact_person_id
                      - contact_person_name
                      - event_type_id
                      - event_type_description
                      - event_status_id
                      - event_status_description
                      - grade_level
                      - school_level_id
                      - school_level_description
                      - start_date
                      - end_date
                      - start_time
                      - end_time
                      - update_date
                      - url
                      - notes
                      - catering_notes
                      - av_notes
                      - maintenance_notes
                      - cleaning_notes
                      - security_notes
                      - follow_up_notes
                      - resource_id
                      - public
                      - series_template
                      - attendance_taken
                      - campus_departure_time
                      - campus_return_time
                      - class_attendance_status
                      - class_departure_time
                      - daily_attendance_status
                      - display_on_alumni_calendar
                      - display_on_group_members_calendar
                      - display_on_parent_calendar
                      - display_on_staff_faculty_calendar
                      - display_on_student_calendar
                      - internal_location_resource_id
                      - venue_departure_time
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - campus_id
                              - student_group_id
                              - event_type_id
                              - event_status_id
                              - grade_level
                              - school_level_id
                              - attendance_taken
                              - class_attendance_status
                              - daily_attendance_status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'events.group_events:read'
    parameters:
      - name: event_id
        in: path
        description: Event ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - Events
      summary: Update Events
      operationId: update_events
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Event ID
                      readOnly: true
                    description:
                      type: string
                      description: Description
                      maxLength: 200
                    location:
                      type: string
                      description: Location
                      maxLength: 255
                    virtual_location_url:
                      type: string
                      description: Virtual Location URL
                    depart_from:
                      type: string
                      description: Depart From
                      maxLength: 50
                    google_map:
                      type: string
                      description: Map
                      readOnly: true
                    google_directions_from_school:
                      type: string
                      description: Directions from School
                      readOnly: true
                    campus_id:
                      type: integer
                      description: Campus
                    campus_description:
                      type: string
                      description: Campus Description
                      readOnly: true
                    internal_group_id:
                      type: integer
                      description: Internal Group ID
                    group_description:
                      type: string
                      description: Primary Group Name
                      readOnly: true
                    groups:
                      type: string
                      description: Groups Included
                      readOnly: true
                    student_group_id:
                      type: integer
                      description: Student Group
                    student_group_description:
                      type: string
                      description: Student Group Description
                      readOnly: true
                    contact_person_id:
                      type: integer
                      description: Contact Person ID
                    contact_person_name:
                      type: string
                      description: First Last
                      readOnly: true
                    event_type_id:
                      type: integer
                      description: Event Type
                    event_type_description:
                      type: string
                      description: Event Type Description
                      readOnly: true
                    event_status_id:
                      type: integer
                      description: Event Status
                    event_status_description:
                      type: string
                      description: Event Status Description
                      readOnly: true
                    grade_level:
                      type: integer
                      description: |-
                        Grade Level

                        The grade level associated with this event.



                        Within the context of parent/teacher conferences, this field is used in conjunction with the School Level field to determine who is eligible to sign up for a conference. Example: if School Level = Upper School and Grade Level = Grade 8, any parent of a student in Upper School OR Grade 8 is eligible to sign up for the conference slot.
                    school_level_id:
                      type: integer
                      description: |-
                        School Level

                        The school level associated with this event.



                        Within the context of parent/teacher conferences, this field is used in conjunction with the Grade Level field to determine who is eligible to sign up for a conference. Example: if School Level = Upper School and Grade Level = Grade 8, any parent of a student in Upper School OR Grade 8 is eligible to sign up for the conference slot.
                    school_level_description:
                      type: string
                      description: School Level Description
                      readOnly: true
                    start_date:
                      type: string
                      format: date
                      description: Start Date
                    end_date:
                      type: string
                      description: End Date
                      maxLength: 10
                    start_time:
                      type: string
                      description: Start Time
                      maxLength: 8
                    end_time:
                      type: string
                      description: End Time
                      maxLength: 8
                    update_date:
                      type: string
                      format: date
                      description: Update Date
                    url:
                      type: string
                      description: URL
                      maxLength: 100
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
                    catering_notes:
                      type: string
                      description: Catering Notes
                      maxLength: 1000
                    av_notes:
                      type: string
                      description: Audio/Visual Notes
                      maxLength: 1000
                    maintenance_notes:
                      type: string
                      description: Maintenance Notes
                      maxLength: 1000
                    cleaning_notes:
                      type: string
                      description: Cleaning Notes
                      maxLength: 1000
                    security_notes:
                      type: string
                      description: Security Notes
                      maxLength: 1000
                    follow_up_notes:
                      type: string
                      description: Follow Up Notes
                      maxLength: 1000
                    resource_id:
                      type: integer
                      description: Resource ID (First Created)
                      readOnly: true
                    public:
                      type: boolean
                      description: Display On Public Calendar
                    series_template:
                      type: boolean
                      description: |-
                        Series Master Event

                        If selected, individual events will be created for each day that the event takes place
                    attendance_taken:
                      type: integer
                      description: Attendance Taken
                    campus_departure_time:
                      type: string
                      description: Campus Departure Time
                      maxLength: 8
                    campus_return_time:
                      type: string
                      description: Campus Return Time
                      maxLength: 8
                    class_attendance_status:
                      type: integer
                      description: |-
                        Class Attendance Status

                        The class attendance status that will be used for students who participate in this event. This value will be applied to class attendance for all the classes affected by this event between Class Departure Time and Campus Return Time.
                    class_departure_time:
                      type: string
                      description: Class Departure Time
                      maxLength: 8
                    daily_attendance_status:
                      type: integer
                      description: |-
                        Daily Attendance Status

                        The daily attendance status that will be used for students who participate in this event. This value will be applied to daily attendance for all the students affected by this event. Leaving this value set as &quot;none specified&quot; will leave the daily attendance status as &quot;Present&quot; for all the students.
                    display_on_alumni_calendar:
                      type: boolean
                      description: Display On Alumni Calendar
                    display_on_group_members_calendar:
                      type: boolean
                      description: Display On Group Members Calendar
                    display_on_parent_calendar:
                      type: boolean
                      description: Display On Parent Calendar
                    display_on_staff_faculty_calendar:
                      type: boolean
                      description: Display On Staff/Faculty Calendar
                    display_on_student_calendar:
                      type: boolean
                      description: Display On Student Calendar
                    internal_location_resource_id:
                      type: integer
                      description: Internal Location Resource ID
                    venue_departure_time:
                      type: string
                      description: Venue Departure Time
                      maxLength: 8
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'events.group_events:update'
  /events/group_events:
    post:
      tags:
        - Events
      summary: Create Events
      operationId: create_events
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Event ID
                      readOnly: true
                    description:
                      type: string
                      description: Description
                      maxLength: 200
                    location:
                      type: string
                      description: Location
                      maxLength: 255
                    virtual_location_url:
                      type: string
                      description: Virtual Location URL
                    depart_from:
                      type: string
                      description: Depart From
                      maxLength: 50
                    google_map:
                      type: string
                      description: Map
                      readOnly: true
                    google_directions_from_school:
                      type: string
                      description: Directions from School
                      readOnly: true
                    campus_id:
                      type: integer
                      description: Campus
                    campus_description:
                      type: string
                      description: Campus Description
                      readOnly: true
                    internal_group_id:
                      type: integer
                      description: Internal Group ID
                    group_description:
                      type: string
                      description: Primary Group Name
                      readOnly: true
                    groups:
                      type: string
                      description: Groups Included
                      readOnly: true
                    student_group_id:
                      type: integer
                      description: Student Group
                    student_group_description:
                      type: string
                      description: Student Group Description
                      readOnly: true
                    contact_person_id:
                      type: integer
                      description: Contact Person ID
                    contact_person_name:
                      type: string
                      description: First Last
                      readOnly: true
                    event_type_id:
                      type: integer
                      description: Event Type
                    event_type_description:
                      type: string
                      description: Event Type Description
                      readOnly: true
                    event_status_id:
                      type: integer
                      description: Event Status
                    event_status_description:
                      type: string
                      description: Event Status Description
                      readOnly: true
                    grade_level:
                      type: integer
                      description: |-
                        Grade Level

                        The grade level associated with this event.



                        Within the context of parent/teacher conferences, this field is used in conjunction with the School Level field to determine who is eligible to sign up for a conference. Example: if School Level = Upper School and Grade Level = Grade 8, any parent of a student in Upper School OR Grade 8 is eligible to sign up for the conference slot.
                    school_level_id:
                      type: integer
                      description: |-
                        School Level

                        The school level associated with this event.



                        Within the context of parent/teacher conferences, this field is used in conjunction with the Grade Level field to determine who is eligible to sign up for a conference. Example: if School Level = Upper School and Grade Level = Grade 8, any parent of a student in Upper School OR Grade 8 is eligible to sign up for the conference slot.
                    school_level_description:
                      type: string
                      description: School Level Description
                      readOnly: true
                    start_date:
                      type: string
                      format: date
                      description: Start Date
                    end_date:
                      type: string
                      description: End Date
                      maxLength: 10
                    start_time:
                      type: string
                      description: Start Time
                      maxLength: 8
                    end_time:
                      type: string
                      description: End Time
                      maxLength: 8
                    update_date:
                      type: string
                      format: date
                      description: Update Date
                    url:
                      type: string
                      description: URL
                      maxLength: 100
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
                    catering_notes:
                      type: string
                      description: Catering Notes
                      maxLength: 1000
                    av_notes:
                      type: string
                      description: Audio/Visual Notes
                      maxLength: 1000
                    maintenance_notes:
                      type: string
                      description: Maintenance Notes
                      maxLength: 1000
                    cleaning_notes:
                      type: string
                      description: Cleaning Notes
                      maxLength: 1000
                    security_notes:
                      type: string
                      description: Security Notes
                      maxLength: 1000
                    follow_up_notes:
                      type: string
                      description: Follow Up Notes
                      maxLength: 1000
                    resource_id:
                      type: integer
                      description: Resource ID (First Created)
                      readOnly: true
                    public:
                      type: boolean
                      description: Display On Public Calendar
                    series_template:
                      type: boolean
                      description: |-
                        Series Master Event

                        If selected, individual events will be created for each day that the event takes place
                    attendance_taken:
                      type: integer
                      description: Attendance Taken
                    campus_departure_time:
                      type: string
                      description: Campus Departure Time
                      maxLength: 8
                    campus_return_time:
                      type: string
                      description: Campus Return Time
                      maxLength: 8
                    class_attendance_status:
                      type: integer
                      description: |-
                        Class Attendance Status

                        The class attendance status that will be used for students who participate in this event. This value will be applied to class attendance for all the classes affected by this event between Class Departure Time and Campus Return Time.
                    class_departure_time:
                      type: string
                      description: Class Departure Time
                      maxLength: 8
                    daily_attendance_status:
                      type: integer
                      description: |-
                        Daily Attendance Status

                        The daily attendance status that will be used for students who participate in this event. This value will be applied to daily attendance for all the students affected by this event. Leaving this value set as &quot;none specified&quot; will leave the daily attendance status as &quot;Present&quot; for all the students.
                    display_on_alumni_calendar:
                      type: boolean
                      description: Display On Alumni Calendar
                    display_on_group_members_calendar:
                      type: boolean
                      description: Display On Group Members Calendar
                    display_on_parent_calendar:
                      type: boolean
                      description: Display On Parent Calendar
                    display_on_staff_faculty_calendar:
                      type: boolean
                      description: Display On Staff/Faculty Calendar
                    display_on_student_calendar:
                      type: boolean
                      description: Display On Student Calendar
                    internal_location_resource_id:
                      type: integer
                      description: Internal Location Resource ID
                    venue_departure_time:
                      type: string
                      description: Venue Departure Time
                      maxLength: 8
                    has_multiple_resources:
                      type: boolean
                      description: Has Multiple Resources?
                      readOnly: true
                  required:
                    - event_type_id
                    - start_date
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'events.group_events:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - Events
      summary: List Events
      operationId: list_events
      parameters:
        - name: campus
          in: query
          description: Campus
          required: false
          schema:
            type: integer
        - name: school_level
          in: query
          description: |-
            School Level

            The school level associated with this event.



            Within the context of parent/teacher conferences, this field is used in conjunction with the Grade Level field to determine who is eligible to sign up for a conference. Example: if School Level = Upper School and Grade Level = Grade 8, any parent of a student in Upper School OR Grade 8 is eligible to sign up for the conference slot.
          required: false
          schema:
            type: integer
        - name: grade_level
          in: query
          description: |-
            Grade Level

            The grade level associated with this event.



            Within the context of parent/teacher conferences, this field is used in conjunction with the School Level field to determine who is eligible to sign up for a conference. Example: if School Level = Upper School and Grade Level = Grade 8, any parent of a student in Upper School OR Grade 8 is eligible to sign up for the conference slot.
          required: false
          schema:
            type: integer
        - name: event_type
          in: query
          description: Event Type
          required: false
          schema:
            type: integer
        - name: internal_group_id
          in: query
          description: Internal Group ID
          required: false
          schema:
            type: integer
        - name: resource_id
          in: query
          description: Resource ID (First Created)
          required: false
          schema:
            type: integer
        - name: on_or_before_start_date
          in: query
          description: Start Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_start_date
          in: query
          description: Start Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_end_date
          in: query
          description: End Date
          required: false
          schema:
            type: string
            format: date
            maxLength: 10
        - name: on_or_after_end_date
          in: query
          description: End Date
          required: false
          schema:
            type: string
            format: date
            maxLength: 10
        - name: on_or_after_update_date
          in: query
          description: Update Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_update_date
          in: query
          description: Update Date
          required: false
          schema:
            type: string
            format: date
        - name: public
          in: query
          description: Display On Public Calendar
          required: false
          schema:
            type: boolean
        - name: is_series_template
          in: query
          description: |-
            Series Master Event

            If selected, individual events will be created for each day that the event takes place
          required: false
          schema:
            type: boolean
        - name: attendance_taken
          in: query
          description: Attendance Taken
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Event ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 200
                        location:
                          type: string
                          description: Location
                          maxLength: 255
                        virtual_location_url:
                          type: string
                          description: Virtual Location URL
                        depart_from:
                          type: string
                          description: Depart From
                          maxLength: 50
                        google_map:
                          type: string
                          description: Map
                          readOnly: true
                        google_directions_from_school:
                          type: string
                          description: Directions from School
                          readOnly: true
                        campus_id:
                          type: integer
                          description: Campus
                        campus_description:
                          type: string
                          description: Campus Description
                          readOnly: true
                        internal_group_id:
                          type: integer
                          description: Internal Group ID
                        group_description:
                          type: string
                          description: Primary Group Name
                          readOnly: true
                        groups:
                          type: string
                          description: Groups Included
                          readOnly: true
                        student_group_id:
                          type: integer
                          description: Student Group
                        student_group_description:
                          type: string
                          description: Student Group Description
                          readOnly: true
                        contact_person_id:
                          type: integer
                          description: Contact Person ID
                        contact_person_name:
                          type: string
                          description: First Last
                          readOnly: true
                        event_type_id:
                          type: integer
                          description: Event Type
                        event_type_description:
                          type: string
                          description: Event Type Description
                          readOnly: true
                        event_status_id:
                          type: integer
                          description: Event Status
                        event_status_description:
                          type: string
                          description: Event Status Description
                          readOnly: true
                        grade_level:
                          type: integer
                          description: |-
                            Grade Level

                            The grade level associated with this event.



                            Within the context of parent/teacher conferences, this field is used in conjunction with the School Level field to determine who is eligible to sign up for a conference. Example: if School Level = Upper School and Grade Level = Grade 8, any parent of a student in Upper School OR Grade 8 is eligible to sign up for the conference slot.
                        school_level_id:
                          type: integer
                          description: |-
                            School Level

                            The school level associated with this event.



                            Within the context of parent/teacher conferences, this field is used in conjunction with the Grade Level field to determine who is eligible to sign up for a conference. Example: if School Level = Upper School and Grade Level = Grade 8, any parent of a student in Upper School OR Grade 8 is eligible to sign up for the conference slot.
                        school_level_description:
                          type: string
                          description: School Level Description
                          readOnly: true
                        start_date:
                          type: string
                          format: date
                          description: Start Date
                        end_date:
                          type: string
                          description: End Date
                          maxLength: 10
                        start_time:
                          type: string
                          description: Start Time
                          maxLength: 8
                        end_time:
                          type: string
                          description: End Time
                          maxLength: 8
                        update_date:
                          type: string
                          format: date
                          description: Update Date
                        url:
                          type: string
                          description: URL
                          maxLength: 100
                        notes:
                          type: string
                          description: Notes
                          maxLength: 1000
                        catering_notes:
                          type: string
                          description: Catering Notes
                          maxLength: 1000
                        av_notes:
                          type: string
                          description: Audio/Visual Notes
                          maxLength: 1000
                        maintenance_notes:
                          type: string
                          description: Maintenance Notes
                          maxLength: 1000
                        cleaning_notes:
                          type: string
                          description: Cleaning Notes
                          maxLength: 1000
                        security_notes:
                          type: string
                          description: Security Notes
                          maxLength: 1000
                        follow_up_notes:
                          type: string
                          description: Follow Up Notes
                          maxLength: 1000
                        resource_id:
                          type: integer
                          description: Resource ID (First Created)
                          readOnly: true
                        public:
                          type: boolean
                          description: Display On Public Calendar
                        series_template:
                          type: boolean
                          description: |-
                            Series Master Event

                            If selected, individual events will be created for each day that the event takes place
                        attendance_taken:
                          type: integer
                          description: Attendance Taken
                        campus_departure_time:
                          type: string
                          description: Campus Departure Time
                          maxLength: 8
                        campus_return_time:
                          type: string
                          description: Campus Return Time
                          maxLength: 8
                        class_attendance_status:
                          type: integer
                          description: |-
                            Class Attendance Status

                            The class attendance status that will be used for students who participate in this event. This value will be applied to class attendance for all the classes affected by this event between Class Departure Time and Campus Return Time.
                        class_departure_time:
                          type: string
                          description: Class Departure Time
                          maxLength: 8
                        daily_attendance_status:
                          type: integer
                          description: |-
                            Daily Attendance Status

                            The daily attendance status that will be used for students who participate in this event. This value will be applied to daily attendance for all the students affected by this event. Leaving this value set as &quot;none specified&quot; will leave the daily attendance status as &quot;Present&quot; for all the students.
                        display_on_alumni_calendar:
                          type: boolean
                          description: Display On Alumni Calendar
                        display_on_group_members_calendar:
                          type: boolean
                          description: Display On Group Members Calendar
                        display_on_parent_calendar:
                          type: boolean
                          description: Display On Parent Calendar
                        display_on_staff_faculty_calendar:
                          type: boolean
                          description: Display On Staff/Faculty Calendar
                        display_on_student_calendar:
                          type: boolean
                          description: Display On Student Calendar
                        internal_location_resource_id:
                          type: integer
                          description: Internal Location Resource ID
                        venue_departure_time:
                          type: string
                          description: Venue Departure Time
                          maxLength: 8
                        has_multiple_resources:
                          type: boolean
                          description: Has Multiple Resources?
                          readOnly: true
                      required:
                        - id
                        - description
                        - location
                        - virtual_location_url
                        - depart_from
                        - google_map
                        - google_directions_from_school
                        - campus_id
                        - campus_description
                        - internal_group_id
                        - group_description
                        - groups
                        - student_group_id
                        - student_group_description
                        - contact_person_id
                        - contact_person_name
                        - event_type_id
                        - event_type_description
                        - event_status_id
                        - event_status_description
                        - grade_level
                        - school_level_id
                        - school_level_description
                        - start_date
                        - end_date
                        - start_time
                        - end_time
                        - update_date
                        - url
                        - notes
                        - catering_notes
                        - av_notes
                        - maintenance_notes
                        - cleaning_notes
                        - security_notes
                        - follow_up_notes
                        - resource_id
                        - public
                        - series_template
                        - attendance_taken
                        - campus_departure_time
                        - campus_return_time
                        - class_attendance_status
                        - class_departure_time
                        - daily_attendance_status
                        - display_on_alumni_calendar
                        - display_on_group_members_calendar
                        - display_on_parent_calendar
                        - display_on_staff_faculty_calendar
                        - display_on_student_calendar
                        - internal_location_resource_id
                        - venue_departure_time
                        - has_multiple_resources
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - campus_id
                              - student_group_id
                              - event_type_id
                              - event_status_id
                              - grade_level
                              - school_level_id
                              - school_level
                              - event_type
                              - attendance_taken
                              - class_attendance_status
                              - daily_attendance_status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'events.group_events:list'
  /events/athletics:
    post:
      tags:
        - 'Events: Athletics'
      summary: 'Create Events: Athletics'
      operationId: create_events_athletics
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Event ID
                      readOnly: true
                    event_type_id:
                      type: integer
                      description: Event Type
                    event_type_description:
                      type: string
                      description: Event Type Description
                      readOnly: true
                    description:
                      type: string
                      description: Description
                      maxLength: 200
                    school_level_id:
                      type: integer
                      description: |-
                        School Level

                        The school level associated with this event.



                        Within the context of parent/teacher conferences, this field is used in conjunction with the Grade Level field to determine who is eligible to sign up for a conference. Example: if School Level = Upper School and Grade Level = Grade 8, any parent of a student in Upper School OR Grade 8 is eligible to sign up for the conference slot.
                    school_level_description:
                      type: string
                      description: School Level Description
                      readOnly: true
                    internal_team_id:
                      type: integer
                      description: Internal Group ID
                    internal_class_id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    team_description:
                      type: string
                      description: Primary Group Name
                      readOnly: true
                    athletic_opponent:
                      type: string
                      description: Opponent
                    game_type_id:
                      type: integer
                      description: Game Type
                    game_type_description:
                      type: string
                      description: Game Type Description
                      readOnly: true
                    home_away_id:
                      type: integer
                      description: Home/Away
                    home_away_description:
                      type: string
                      description: Home/Away Description
                      readOnly: true
                    out_of_conference:
                      type: boolean
                      description: Out Of Conference
                    make_up:
                      type: boolean
                      description: Make-Up
                    destination_organization:
                      type: string
                      description: |-
                        Destination Organization

                        The external Organization where this event will be located.  For athletic events, should only be specified if different from the Opponent field.
                      readOnly: true
                    destination_organization_id:
                      type: integer
                      description: |-
                        Destination Organization ID

                        The external Organization where this event will be located.  For athletic events, should only be specified if different from the Opponent field.
                    location:
                      type: string
                      description: |-
                        Location

                        The resource or organization where this event takes place
                      readOnly: true
                    depart_from:
                      type: string
                      description: Depart From
                      maxLength: 50
                    class_departure_time:
                      type: string
                      description: Class Departure Time
                      maxLength: 8
                    campus_departure_time:
                      type: string
                      description: Campus Departure Time
                      maxLength: 8
                    transportation_id:
                      type: integer
                      description: Transportation
                    transportation_description:
                      type: string
                      description: Transportation Description
                      readOnly: true
                    transportation_resource:
                      type: string
                      description: Transportation Resource
                      readOnly: true
                    transportation_resource_id:
                      type: integer
                      description: Transportation Resource ID
                    google_map:
                      type: string
                      description: Map
                      readOnly: true
                    google_directions_from_school:
                      type: string
                      description: Directions from School
                      readOnly: true
                    event_status_id:
                      type: integer
                      description: Event Status
                    event_status_description:
                      type: string
                      description: Event Status Description
                      readOnly: true
                    start_date:
                      type: string
                      format: date
                      description: Start Date
                    end_date:
                      type: string
                      description: End Date
                      maxLength: 10
                    start_time:
                      type: string
                      description: Start Time
                      maxLength: 8
                    end_time:
                      type: string
                      description: End Time
                      maxLength: 8
                    venue_departure_time:
                      type: string
                      description: Venue Departure Time
                      maxLength: 8
                    campus_return_time:
                      type: string
                      description: Campus Return Time
                      maxLength: 8
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
                    game_outcome_id:
                      type: integer
                      description: Game Outcome
                    game_outcome_description:
                      type: string
                      description: Game Outcome Description
                      readOnly: true
                    game_score_us:
                      type: number
                      description: Score - Us
                    game_score_opponent:
                      type: number
                      description: Score - Opponent
                    placement_id:
                      type: integer
                      description: Game Placement
                    placement_description:
                      type: string
                      description: Game Placement Description
                      readOnly: true
                    overtime:
                      type: boolean
                      description: Overtime
                    summary:
                      type: string
                      description: Summary
                      maxLength: 1500
                    update_date:
                      type: string
                      format: date
                      description: Update Date
                    public:
                      type: boolean
                      description: Display On Public Calendar
                    series_template:
                      type: boolean
                      description: |-
                        Series Master Event

                        If selected, individual events will be created for each day that the event takes place
                    daily_attendance_status:
                      type: integer
                      description: |-
                        Daily Attendance Status

                        The daily attendance status that will be used for students who participate in this event. This value will be applied to daily attendance for all the students affected by this event. Leaving this value set as &quot;none specified&quot; will leave the daily attendance status as &quot;Present&quot; for all the students.
                    class_attendance_status:
                      type: integer
                      description: |-
                        Class Attendance Status

                        The class attendance status that will be used for students who participate in this event. This value will be applied to class attendance for all the classes affected by this event between Class Departure Time and Campus Return Time.
                    attendance_taken:
                      type: integer
                      description: Attendance Taken
                    display_on_parent_calendar:
                      type: boolean
                      description: Display On Parent Calendar
                    display_on_student_calendar:
                      type: boolean
                      description: Display On Student Calendar
                    display_on_staff_faculty_calendar:
                      type: boolean
                      description: Display On Staff/Faculty Calendar
                    display_on_alumni_calendar:
                      type: boolean
                      description: Display On Alumni Calendar
                    display_on_group_members_calendar:
                      type: boolean
                      description: Display On Group Members Calendar
                  required:
                    - event_type_id
                    - start_date
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'events.athletics:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Events: Athletics'
      summary: 'List Events: Athletics'
      operationId: list_events_athletics
      parameters:
        - name: school_level
          in: query
          description: |-
            School Level

            The school level associated with this event.



            Within the context of parent/teacher conferences, this field is used in conjunction with the Grade Level field to determine who is eligible to sign up for a conference. Example: if School Level = Upper School and Grade Level = Grade 8, any parent of a student in Upper School OR Grade 8 is eligible to sign up for the conference slot.
          required: false
          schema:
            type: integer
        - name: internal_class_id
          in: query
          description: Internal Class ID
          required: false
          schema:
            type: integer
        - name: event_type
          in: query
          description: Event Type
          required: false
          schema:
            type: integer
        - name: internal_team_id
          in: query
          description: Internal Group ID
          required: false
          schema:
            type: integer
        - name: on_or_before_start_date
          in: query
          description: Start Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_start_date
          in: query
          description: Start Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_end_date
          in: query
          description: End Date
          required: false
          schema:
            type: string
            format: date
            maxLength: 10
        - name: on_or_after_end_date
          in: query
          description: End Date
          required: false
          schema:
            type: string
            format: date
            maxLength: 10
        - name: on_or_after_update_date
          in: query
          description: Update Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_update_date
          in: query
          description: Update Date
          required: false
          schema:
            type: string
            format: date
        - name: public
          in: query
          description: Display On Public Calendar
          required: false
          schema:
            type: boolean
        - name: is_series_template
          in: query
          description: |-
            Series Master Event

            If selected, individual events will be created for each day that the event takes place
          required: false
          schema:
            type: boolean
        - name: attendance_taken
          in: query
          description: Attendance Taken
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Event ID
                          readOnly: true
                        event_type_id:
                          type: integer
                          description: Event Type
                        event_type_description:
                          type: string
                          description: Event Type Description
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 200
                        school_level_id:
                          type: integer
                          description: |-
                            School Level

                            The school level associated with this event.



                            Within the context of parent/teacher conferences, this field is used in conjunction with the Grade Level field to determine who is eligible to sign up for a conference. Example: if School Level = Upper School and Grade Level = Grade 8, any parent of a student in Upper School OR Grade 8 is eligible to sign up for the conference slot.
                        school_level_description:
                          type: string
                          description: School Level Description
                          readOnly: true
                        internal_team_id:
                          type: integer
                          description: Internal Group ID
                        internal_class_id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        team_description:
                          type: string
                          description: Primary Group Name
                          readOnly: true
                        athletic_opponent:
                          type: string
                          description: Opponent
                        game_type_id:
                          type: integer
                          description: Game Type
                        game_type_description:
                          type: string
                          description: Game Type Description
                          readOnly: true
                        home_away_id:
                          type: integer
                          description: Home/Away
                        home_away_description:
                          type: string
                          description: Home/Away Description
                          readOnly: true
                        out_of_conference:
                          type: boolean
                          description: Out Of Conference
                        make_up:
                          type: boolean
                          description: Make-Up
                        destination_organization:
                          type: string
                          description: |-
                            Destination Organization

                            The external Organization where this event will be located.  For athletic events, should only be specified if different from the Opponent field.
                          readOnly: true
                        destination_organization_id:
                          type: integer
                          description: |-
                            Destination Organization ID

                            The external Organization where this event will be located.  For athletic events, should only be specified if different from the Opponent field.
                        location:
                          type: string
                          description: |-
                            Location

                            The resource or organization where this event takes place
                          readOnly: true
                        depart_from:
                          type: string
                          description: Depart From
                          maxLength: 50
                        class_departure_time:
                          type: string
                          description: Class Departure Time
                          maxLength: 8
                        campus_departure_time:
                          type: string
                          description: Campus Departure Time
                          maxLength: 8
                        transportation_id:
                          type: integer
                          description: Transportation
                        transportation_description:
                          type: string
                          description: Transportation Description
                          readOnly: true
                        transportation_resource:
                          type: string
                          description: Transportation Resource
                          readOnly: true
                        transportation_resource_id:
                          type: integer
                          description: Transportation Resource ID
                        google_map:
                          type: string
                          description: Map
                          readOnly: true
                        google_directions_from_school:
                          type: string
                          description: Directions from School
                          readOnly: true
                        event_status_id:
                          type: integer
                          description: Event Status
                        event_status_description:
                          type: string
                          description: Event Status Description
                          readOnly: true
                        start_date:
                          type: string
                          format: date
                          description: Start Date
                        end_date:
                          type: string
                          description: End Date
                          maxLength: 10
                        start_time:
                          type: string
                          description: Start Time
                          maxLength: 8
                        end_time:
                          type: string
                          description: End Time
                          maxLength: 8
                        venue_departure_time:
                          type: string
                          description: Venue Departure Time
                          maxLength: 8
                        campus_return_time:
                          type: string
                          description: Campus Return Time
                          maxLength: 8
                        notes:
                          type: string
                          description: Notes
                          maxLength: 1000
                        game_outcome_id:
                          type: integer
                          description: Game Outcome
                        game_outcome_description:
                          type: string
                          description: Game Outcome Description
                          readOnly: true
                        game_score_us:
                          type: number
                          description: Score - Us
                        game_score_opponent:
                          type: number
                          description: Score - Opponent
                        placement_id:
                          type: integer
                          description: Game Placement
                        placement_description:
                          type: string
                          description: Game Placement Description
                          readOnly: true
                        overtime:
                          type: boolean
                          description: Overtime
                        summary:
                          type: string
                          description: Summary
                          maxLength: 1500
                        update_date:
                          type: string
                          format: date
                          description: Update Date
                        public:
                          type: boolean
                          description: Display On Public Calendar
                        series_template:
                          type: boolean
                          description: |-
                            Series Master Event

                            If selected, individual events will be created for each day that the event takes place
                        daily_attendance_status:
                          type: integer
                          description: |-
                            Daily Attendance Status

                            The daily attendance status that will be used for students who participate in this event. This value will be applied to daily attendance for all the students affected by this event. Leaving this value set as &quot;none specified&quot; will leave the daily attendance status as &quot;Present&quot; for all the students.
                        class_attendance_status:
                          type: integer
                          description: |-
                            Class Attendance Status

                            The class attendance status that will be used for students who participate in this event. This value will be applied to class attendance for all the classes affected by this event between Class Departure Time and Campus Return Time.
                        attendance_taken:
                          type: integer
                          description: Attendance Taken
                        display_on_parent_calendar:
                          type: boolean
                          description: Display On Parent Calendar
                        display_on_student_calendar:
                          type: boolean
                          description: Display On Student Calendar
                        display_on_staff_faculty_calendar:
                          type: boolean
                          description: Display On Staff/Faculty Calendar
                        display_on_alumni_calendar:
                          type: boolean
                          description: Display On Alumni Calendar
                        display_on_group_members_calendar:
                          type: boolean
                          description: Display On Group Members Calendar
                      required:
                        - id
                        - event_type_id
                        - event_type_description
                        - description
                        - school_level_id
                        - school_level_description
                        - internal_team_id
                        - internal_class_id
                        - team_description
                        - athletic_opponent
                        - game_type_id
                        - game_type_description
                        - home_away_id
                        - home_away_description
                        - out_of_conference
                        - make_up
                        - destination_organization
                        - destination_organization_id
                        - location
                        - depart_from
                        - class_departure_time
                        - campus_departure_time
                        - transportation_id
                        - transportation_description
                        - transportation_resource
                        - transportation_resource_id
                        - google_map
                        - google_directions_from_school
                        - event_status_id
                        - event_status_description
                        - start_date
                        - end_date
                        - start_time
                        - end_time
                        - venue_departure_time
                        - campus_return_time
                        - notes
                        - game_outcome_id
                        - game_outcome_description
                        - game_score_us
                        - game_score_opponent
                        - placement_id
                        - placement_description
                        - overtime
                        - summary
                        - update_date
                        - public
                        - series_template
                        - daily_attendance_status
                        - class_attendance_status
                        - attendance_taken
                        - display_on_parent_calendar
                        - display_on_student_calendar
                        - display_on_staff_faculty_calendar
                        - display_on_alumni_calendar
                        - display_on_group_members_calendar
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - event_type_id
                              - school_level_id
                              - game_type_id
                              - home_away_id
                              - transportation_id
                              - event_status_id
                              - game_outcome_id
                              - placement_id
                              - event_type
                              - daily_attendance_status
                              - class_attendance_status
                              - attendance_taken
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'events.athletics:list'
  '/events/athletics/{event_id}':
    get:
      tags:
        - 'Events: Athletics'
      summary: 'Read Events: Athletics'
      operationId: read_events_athletics
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Event ID
                        readOnly: true
                      event_type_id:
                        type: integer
                        description: Event Type
                      event_type_description:
                        type: string
                        description: Event Type Description
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 200
                      school_level_id:
                        type: integer
                        description: |-
                          School Level

                          The school level associated with this event.



                          Within the context of parent/teacher conferences, this field is used in conjunction with the Grade Level field to determine who is eligible to sign up for a conference. Example: if School Level = Upper School and Grade Level = Grade 8, any parent of a student in Upper School OR Grade 8 is eligible to sign up for the conference slot.
                      school_level_description:
                        type: string
                        description: School Level Description
                        readOnly: true
                      internal_team_id:
                        type: integer
                        description: Internal Group ID
                      internal_class_id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      team_description:
                        type: string
                        description: Primary Group Name
                        readOnly: true
                      athletic_opponent:
                        type: string
                        description: Opponent
                      game_type_id:
                        type: integer
                        description: Game Type
                      game_type_description:
                        type: string
                        description: Game Type Description
                        readOnly: true
                      home_away_id:
                        type: integer
                        description: Home/Away
                      home_away_description:
                        type: string
                        description: Home/Away Description
                        readOnly: true
                      out_of_conference:
                        type: boolean
                        description: Out Of Conference
                      make_up:
                        type: boolean
                        description: Make-Up
                      destination_organization:
                        type: string
                        description: |-
                          Destination Organization

                          The external Organization where this event will be located.  For athletic events, should only be specified if different from the Opponent field.
                        readOnly: true
                      destination_organization_id:
                        type: integer
                        description: |-
                          Destination Organization ID

                          The external Organization where this event will be located.  For athletic events, should only be specified if different from the Opponent field.
                      location:
                        type: string
                        description: |-
                          Location

                          The resource or organization where this event takes place
                        readOnly: true
                      depart_from:
                        type: string
                        description: Depart From
                        maxLength: 50
                      class_departure_time:
                        type: string
                        description: Class Departure Time
                        maxLength: 8
                      campus_departure_time:
                        type: string
                        description: Campus Departure Time
                        maxLength: 8
                      transportation_id:
                        type: integer
                        description: Transportation
                      transportation_description:
                        type: string
                        description: Transportation Description
                        readOnly: true
                      transportation_resource:
                        type: string
                        description: Transportation Resource
                        readOnly: true
                      transportation_resource_id:
                        type: integer
                        description: Transportation Resource ID
                      google_map:
                        type: string
                        description: Map
                        readOnly: true
                      google_directions_from_school:
                        type: string
                        description: Directions from School
                        readOnly: true
                      event_status_id:
                        type: integer
                        description: Event Status
                      event_status_description:
                        type: string
                        description: Event Status Description
                        readOnly: true
                      start_date:
                        type: string
                        format: date
                        description: Start Date
                      end_date:
                        type: string
                        description: End Date
                        maxLength: 10
                      start_time:
                        type: string
                        description: Start Time
                        maxLength: 8
                      end_time:
                        type: string
                        description: End Time
                        maxLength: 8
                      venue_departure_time:
                        type: string
                        description: Venue Departure Time
                        maxLength: 8
                      campus_return_time:
                        type: string
                        description: Campus Return Time
                        maxLength: 8
                      notes:
                        type: string
                        description: Notes
                        maxLength: 1000
                      game_outcome_id:
                        type: integer
                        description: Game Outcome
                      game_outcome_description:
                        type: string
                        description: Game Outcome Description
                        readOnly: true
                      game_score_us:
                        type: number
                        description: Score - Us
                      game_score_opponent:
                        type: number
                        description: Score - Opponent
                      placement_id:
                        type: integer
                        description: Game Placement
                      placement_description:
                        type: string
                        description: Game Placement Description
                        readOnly: true
                      overtime:
                        type: boolean
                        description: Overtime
                      summary:
                        type: string
                        description: Summary
                        maxLength: 1500
                      update_date:
                        type: string
                        format: date
                        description: Update Date
                      public:
                        type: boolean
                        description: Display On Public Calendar
                      series_template:
                        type: boolean
                        description: |-
                          Series Master Event

                          If selected, individual events will be created for each day that the event takes place
                      daily_attendance_status:
                        type: integer
                        description: |-
                          Daily Attendance Status

                          The daily attendance status that will be used for students who participate in this event. This value will be applied to daily attendance for all the students affected by this event. Leaving this value set as &quot;none specified&quot; will leave the daily attendance status as &quot;Present&quot; for all the students.
                      class_attendance_status:
                        type: integer
                        description: |-
                          Class Attendance Status

                          The class attendance status that will be used for students who participate in this event. This value will be applied to class attendance for all the classes affected by this event between Class Departure Time and Campus Return Time.
                      attendance_taken:
                        type: integer
                        description: Attendance Taken
                      display_on_parent_calendar:
                        type: boolean
                        description: Display On Parent Calendar
                      display_on_student_calendar:
                        type: boolean
                        description: Display On Student Calendar
                      display_on_staff_faculty_calendar:
                        type: boolean
                        description: Display On Staff/Faculty Calendar
                      display_on_alumni_calendar:
                        type: boolean
                        description: Display On Alumni Calendar
                      display_on_group_members_calendar:
                        type: boolean
                        description: Display On Group Members Calendar
                    required:
                      - id
                      - event_type_id
                      - event_type_description
                      - description
                      - school_level_id
                      - school_level_description
                      - internal_team_id
                      - internal_class_id
                      - team_description
                      - athletic_opponent
                      - game_type_id
                      - game_type_description
                      - home_away_id
                      - home_away_description
                      - out_of_conference
                      - make_up
                      - destination_organization
                      - destination_organization_id
                      - location
                      - depart_from
                      - class_departure_time
                      - campus_departure_time
                      - transportation_id
                      - transportation_description
                      - transportation_resource
                      - transportation_resource_id
                      - google_map
                      - google_directions_from_school
                      - event_status_id
                      - event_status_description
                      - start_date
                      - end_date
                      - start_time
                      - end_time
                      - venue_departure_time
                      - campus_return_time
                      - notes
                      - game_outcome_id
                      - game_outcome_description
                      - game_score_us
                      - game_score_opponent
                      - placement_id
                      - placement_description
                      - overtime
                      - summary
                      - update_date
                      - public
                      - series_template
                      - daily_attendance_status
                      - class_attendance_status
                      - attendance_taken
                      - display_on_parent_calendar
                      - display_on_student_calendar
                      - display_on_staff_faculty_calendar
                      - display_on_alumni_calendar
                      - display_on_group_members_calendar
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - event_type_id
                              - school_level_id
                              - game_type_id
                              - home_away_id
                              - transportation_id
                              - event_status_id
                              - game_outcome_id
                              - placement_id
                              - daily_attendance_status
                              - class_attendance_status
                              - attendance_taken
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'events.athletics:read'
    parameters:
      - name: event_id
        in: path
        description: Event ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Events: Athletics'
      summary: 'Update Events: Athletics'
      operationId: update_events_athletics
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Event ID
                      readOnly: true
                    event_type_id:
                      type: integer
                      description: Event Type
                    event_type_description:
                      type: string
                      description: Event Type Description
                      readOnly: true
                    description:
                      type: string
                      description: Description
                      maxLength: 200
                    school_level_id:
                      type: integer
                      description: |-
                        School Level

                        The school level associated with this event.



                        Within the context of parent/teacher conferences, this field is used in conjunction with the Grade Level field to determine who is eligible to sign up for a conference. Example: if School Level = Upper School and Grade Level = Grade 8, any parent of a student in Upper School OR Grade 8 is eligible to sign up for the conference slot.
                    school_level_description:
                      type: string
                      description: School Level Description
                      readOnly: true
                    internal_team_id:
                      type: integer
                      description: Internal Group ID
                    internal_class_id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    team_description:
                      type: string
                      description: Primary Group Name
                      readOnly: true
                    athletic_opponent:
                      type: string
                      description: Opponent
                    game_type_id:
                      type: integer
                      description: Game Type
                    game_type_description:
                      type: string
                      description: Game Type Description
                      readOnly: true
                    home_away_id:
                      type: integer
                      description: Home/Away
                    home_away_description:
                      type: string
                      description: Home/Away Description
                      readOnly: true
                    out_of_conference:
                      type: boolean
                      description: Out Of Conference
                    make_up:
                      type: boolean
                      description: Make-Up
                    destination_organization:
                      type: string
                      description: |-
                        Destination Organization

                        The external Organization where this event will be located.  For athletic events, should only be specified if different from the Opponent field.
                      readOnly: true
                    destination_organization_id:
                      type: integer
                      description: |-
                        Destination Organization ID

                        The external Organization where this event will be located.  For athletic events, should only be specified if different from the Opponent field.
                    location:
                      type: string
                      description: |-
                        Location

                        The resource or organization where this event takes place
                      readOnly: true
                    depart_from:
                      type: string
                      description: Depart From
                      maxLength: 50
                    class_departure_time:
                      type: string
                      description: Class Departure Time
                      maxLength: 8
                    campus_departure_time:
                      type: string
                      description: Campus Departure Time
                      maxLength: 8
                    transportation_id:
                      type: integer
                      description: Transportation
                    transportation_description:
                      type: string
                      description: Transportation Description
                      readOnly: true
                    transportation_resource:
                      type: string
                      description: Transportation Resource
                      readOnly: true
                    transportation_resource_id:
                      type: integer
                      description: Transportation Resource ID
                    google_map:
                      type: string
                      description: Map
                      readOnly: true
                    google_directions_from_school:
                      type: string
                      description: Directions from School
                      readOnly: true
                    event_status_id:
                      type: integer
                      description: Event Status
                    event_status_description:
                      type: string
                      description: Event Status Description
                      readOnly: true
                    start_date:
                      type: string
                      format: date
                      description: Start Date
                    end_date:
                      type: string
                      description: End Date
                      maxLength: 10
                    start_time:
                      type: string
                      description: Start Time
                      maxLength: 8
                    end_time:
                      type: string
                      description: End Time
                      maxLength: 8
                    venue_departure_time:
                      type: string
                      description: Venue Departure Time
                      maxLength: 8
                    campus_return_time:
                      type: string
                      description: Campus Return Time
                      maxLength: 8
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
                    game_outcome_id:
                      type: integer
                      description: Game Outcome
                    game_outcome_description:
                      type: string
                      description: Game Outcome Description
                      readOnly: true
                    game_score_us:
                      type: number
                      description: Score - Us
                    game_score_opponent:
                      type: number
                      description: Score - Opponent
                    placement_id:
                      type: integer
                      description: Game Placement
                    placement_description:
                      type: string
                      description: Game Placement Description
                      readOnly: true
                    overtime:
                      type: boolean
                      description: Overtime
                    summary:
                      type: string
                      description: Summary
                      maxLength: 1500
                    update_date:
                      type: string
                      format: date
                      description: Update Date
                    public:
                      type: boolean
                      description: Display On Public Calendar
                    series_template:
                      type: boolean
                      description: |-
                        Series Master Event

                        If selected, individual events will be created for each day that the event takes place
                    daily_attendance_status:
                      type: integer
                      description: |-
                        Daily Attendance Status

                        The daily attendance status that will be used for students who participate in this event. This value will be applied to daily attendance for all the students affected by this event. Leaving this value set as &quot;none specified&quot; will leave the daily attendance status as &quot;Present&quot; for all the students.
                    class_attendance_status:
                      type: integer
                      description: |-
                        Class Attendance Status

                        The class attendance status that will be used for students who participate in this event. This value will be applied to class attendance for all the classes affected by this event between Class Departure Time and Campus Return Time.
                    attendance_taken:
                      type: integer
                      description: Attendance Taken
                    display_on_parent_calendar:
                      type: boolean
                      description: Display On Parent Calendar
                    display_on_student_calendar:
                      type: boolean
                      description: Display On Student Calendar
                    display_on_staff_faculty_calendar:
                      type: boolean
                      description: Display On Staff/Faculty Calendar
                    display_on_alumni_calendar:
                      type: boolean
                      description: Display On Alumni Calendar
                    display_on_group_members_calendar:
                      type: boolean
                      description: Display On Group Members Calendar
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'events.athletics:update'
  /events/athletics_opponents:
    get:
      tags:
        - 'Events: Athletics Opponents'
      summary: 'List Events: Athletics Opponents'
      description: Opponents
      operationId: list_events_athletics_opponents
      parameters:
        - name: event_id
          in: query
          description: Event ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Event Organization ID
                          readOnly: true
                        event_id:
                          type: integer
                          description: Event ID
                          readOnly: true
                        opponent:
                          type: string
                          description: Organization
                        score:
                          type: number
                          description: Score (Real)
                        placement:
                          type: integer
                          description: Game Placement
                        time:
                          type: string
                          description: Game Time
                          maxLength: 15
                        overtime:
                          type: boolean
                          description: Overtime
                        notes:
                          type: string
                          description: Notes
                          maxLength: 255
                      required:
                        - id
                        - event_id
                        - opponent
                        - score
                        - placement
                        - time
                        - overtime
                        - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - placement
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'events.athletics_opponents:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/events/athletics_opponents/{id}':
    get:
      tags:
        - 'Events: Athletics Opponents'
      summary: 'Read Events: Athletics Opponents'
      description: Opponents
      operationId: read_events_athletics_opponents
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Event Organization ID
                        readOnly: true
                      event_id:
                        type: integer
                        description: Event ID
                        readOnly: true
                      opponent:
                        type: string
                        description: Organization
                      score:
                        type: number
                        description: Score (Real)
                      placement:
                        type: integer
                        description: Game Placement
                      time:
                        type: string
                        description: Game Time
                        maxLength: 15
                      overtime:
                        type: boolean
                        description: Overtime
                      notes:
                        type: string
                        description: Notes
                        maxLength: 255
                    required:
                      - id
                      - event_id
                      - opponent
                      - score
                      - placement
                      - time
                      - overtime
                      - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - placement
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'events.athletics_opponents:read'
    parameters:
      - name: id
        in: path
        description: Event Organization ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/events/athletics_scores/{id}':
    get:
      tags:
        - 'Events: Athletics Scores'
      summary: 'Read Events: Athletics Scores'
      operationId: read_events_athletics_scores
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Event ID
                        readOnly: true
                      event_type_description:
                        type: string
                        description: Description
                        maxLength: 50
                      description:
                        type: string
                        description: |-
                          Description

                          A text field that contains a description of the event.



                          Within the context of parent/teacher conferences, this “Admin Description” can be used for internal workflows like denoting teacher breaks modeled as conference slots. The Admin Description is visible on the conference schedule document for teachers.
                        maxLength: 200
                      date:
                        type: string
                        format: date
                        description: Start Date
                      game_outcome_id:
                        type: integer
                        description: Game Outcome
                      game_score_us:
                        type: number
                        description: Score - Us
                      game_score_opponent:
                        type: number
                        description: Score - Opponent
                      placement_id:
                        type: integer
                        description: Game Placement
                      overtime:
                        type: boolean
                        description: Overtime
                      summary:
                        type: string
                        description: Summary
                        maxLength: 1500
                    required:
                      - id
                      - event_type_description
                      - description
                      - date
                      - game_outcome_id
                      - game_score_us
                      - game_score_opponent
                      - placement_id
                      - overtime
                      - summary
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - game_outcome_id
                              - placement_id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'events.athletics_scores:read'
    parameters:
      - name: id
        in: path
        description: Event ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Events: Athletics Scores'
      summary: 'Update Events: Athletics Scores'
      operationId: update_events_athletics_scores
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Event ID
                      readOnly: true
                    event_type_description:
                      type: string
                      description: Description
                      maxLength: 50
                    description:
                      type: string
                      description: |-
                        Description

                        A text field that contains a description of the event.



                        Within the context of parent/teacher conferences, this “Admin Description” can be used for internal workflows like denoting teacher breaks modeled as conference slots. The Admin Description is visible on the conference schedule document for teachers.
                      maxLength: 200
                    date:
                      type: string
                      format: date
                      description: Start Date
                    game_outcome_id:
                      type: integer
                      description: Game Outcome
                    game_score_us:
                      type: number
                      description: Score - Us
                    game_score_opponent:
                      type: number
                      description: Score - Opponent
                    placement_id:
                      type: integer
                      description: Game Placement
                    overtime:
                      type: boolean
                      description: Overtime
                    summary:
                      type: string
                      description: Summary
                      maxLength: 1500
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'events.athletics_scores:update'
  /events/event_attendance:
    post:
      tags:
        - 'Events: Attendance'
      summary: 'Create Events: Attendance'
      operationId: create_events_attendance
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Individual Event ID
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person
                    full_name:
                      type: string
                      description: |-
                        Full Name

                        The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                      readOnly: true
                    group_event_id:
                      type: integer
                      description: Group Event ID
                    attendance_status:
                      type: integer
                      description: Attendance Status
                    tag:
                      type: string
                      description: |-
                        Tag

                        Use to place event invitees into sub-groups, for example table-assignments
                      maxLength: 30
                    score:
                      type: integer
                      description: Score
                    event_type:
                      type: integer
                      description: |-
                        Event Type

                        Event Type
                    notes:
                      type: string
                      description: |-
                        Notes

                        Used for various purposes depending on the event type. 

                        For Inquiry events added by the system (which are added if a person has the prospect Role but no inquiry yet), Veracross will add the note &quot;(date approximate)&quot;.
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'events.event_attendance:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Events: Attendance'
      summary: 'List Events: Attendance'
      operationId: list_events_attendance
      parameters:
        - name: person_id
          in: query
          description: Person
          required: false
          schema:
            type: integer
        - name: group_event_id
          in: query
          description: Group Event ID
          required: false
          schema:
            type: integer
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Individual Event ID
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person
                        full_name:
                          type: string
                          description: |-
                            Full Name

                            The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                          readOnly: true
                        group_event_id:
                          type: integer
                          description: Group Event ID
                        attendance_status:
                          type: integer
                          description: Attendance Status
                        tag:
                          type: string
                          description: |-
                            Tag

                            Use to place event invitees into sub-groups, for example table-assignments
                          maxLength: 30
                        score:
                          type: integer
                          description: Score
                        event_type:
                          type: integer
                          description: |-
                            Event Type

                            Event Type
                        notes:
                          type: string
                          description: |-
                            Notes

                            Used for various purposes depending on the event type. 

                            For Inquiry events added by the system (which are added if a person has the prospect Role but no inquiry yet), Veracross will add the note &quot;(date approximate)&quot;.
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - person_id
                        - full_name
                        - group_event_id
                        - attendance_status
                        - tag
                        - score
                        - event_type
                        - notes
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - attendance_status
                              - event_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'events.event_attendance:list'
  '/events/event_attendance/{id}':
    delete:
      tags:
        - 'Events: Attendance'
      summary: 'Delete Events: Attendance'
      operationId: delete_events_attendance
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'events.event_attendance:delete'
    parameters:
      - name: id
        in: path
        description: Individual Event ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Events: Attendance'
      summary: 'Read Events: Attendance'
      operationId: read_events_attendance
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Individual Event ID
                        readOnly: true
                      person_id:
                        type: integer
                        description: Person
                      full_name:
                        type: string
                        description: |-
                          Full Name

                          The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                        readOnly: true
                      group_event_id:
                        type: integer
                        description: Group Event ID
                      attendance_status:
                        type: integer
                        description: Attendance Status
                      tag:
                        type: string
                        description: |-
                          Tag

                          Use to place event invitees into sub-groups, for example table-assignments
                        maxLength: 30
                      score:
                        type: integer
                        description: Score
                      event_type:
                        type: integer
                        description: |-
                          Event Type

                          Event Type
                      notes:
                        type: string
                        description: |-
                          Notes

                          Used for various purposes depending on the event type. 

                          For Inquiry events added by the system (which are added if a person has the prospect Role but no inquiry yet), Veracross will add the note &quot;(date approximate)&quot;.
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - person_id
                      - full_name
                      - group_event_id
                      - attendance_status
                      - tag
                      - score
                      - event_type
                      - notes
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - attendance_status
                              - event_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'events.event_attendance:read'
    patch:
      tags:
        - 'Events: Attendance'
      summary: 'Update Events: Attendance'
      operationId: update_events_attendance
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Individual Event ID
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person
                    full_name:
                      type: string
                      description: |-
                        Full Name

                        The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                      readOnly: true
                    group_event_id:
                      type: integer
                      description: Group Event ID
                    attendance_status:
                      type: integer
                      description: Attendance Status
                    tag:
                      type: string
                      description: |-
                        Tag

                        Use to place event invitees into sub-groups, for example table-assignments
                      maxLength: 30
                    score:
                      type: integer
                      description: Score
                    event_type:
                      type: integer
                      description: |-
                        Event Type

                        Event Type
                    notes:
                      type: string
                      description: |-
                        Notes

                        Used for various purposes depending on the event type. 

                        For Inquiry events added by the system (which are added if a person has the prospect Role but no inquiry yet), Veracross will add the note &quot;(date approximate)&quot;.
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'events.event_attendance:update'
  '/extended_care/classes/{internal_class_id}/attendance':
    get:
      tags:
        - 'Extended Care: Class Attendance'
      summary: 'List Extended Care: Class Attendance'
      operationId: list_extended_care_class_attendance
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: on_or_before_attendance_date
          in: query
          description: Attendance Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_attendance_date
          in: query
          description: Attendance Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ECA ID
                          readOnly: true
                        attendance_date:
                          type: string
                          format: date
                          description: Attendance Date
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        scheduled:
                          type: boolean
                          description: Scheduled
                        expected:
                          type: boolean
                          description: Expected
                        registered:
                          type: boolean
                          description: Registered
                          readOnly: true
                        present:
                          type: boolean
                          description: Present
                        time_in:
                          type: string
                          format: date-time
                          description: Time In
                        time_out:
                          type: string
                          format: date-time
                          description: Time Out
                        out:
                          type: boolean
                          description: Out
                        time_spent:
                          type: number
                          description: Time Spent
                          readOnly: true
                        notes:
                          type: string
                          description: Notes
                          maxLength: 100
                        attendance_notes:
                          type: string
                          description: Attendance Notes
                          readOnly: true
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - attendance_date
                        - person_id
                        - scheduled
                        - expected
                        - registered
                        - present
                        - time_in
                        - time_out
                        - out
                        - time_spent
                        - notes
                        - attendance_notes
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'extended_care.classes.attendance:list'
    parameters:
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/extended_care/classes/{internal_class_id}/attendance/{id}':
    get:
      tags:
        - 'Extended Care: Class Attendance'
      summary: 'Read Extended Care: Class Attendance'
      operationId: read_extended_care_class_attendance
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ECA ID
                        readOnly: true
                      attendance_date:
                        type: string
                        format: date
                        description: Attendance Date
                      person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      scheduled:
                        type: boolean
                        description: Scheduled
                      expected:
                        type: boolean
                        description: Expected
                      registered:
                        type: boolean
                        description: Registered
                        readOnly: true
                      present:
                        type: boolean
                        description: Present
                      time_in:
                        type: string
                        format: date-time
                        description: Time In
                      time_out:
                        type: string
                        format: date-time
                        description: Time Out
                      out:
                        type: boolean
                        description: Out
                      time_spent:
                        type: number
                        description: Time Spent
                        readOnly: true
                      notes:
                        type: string
                        description: Notes
                        maxLength: 100
                      attendance_notes:
                        type: string
                        description: Attendance Notes
                        readOnly: true
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - attendance_date
                      - person_id
                      - scheduled
                      - expected
                      - registered
                      - present
                      - time_in
                      - time_out
                      - out
                      - time_spent
                      - notes
                      - attendance_notes
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'extended_care.classes.attendance:read'
    parameters:
      - name: id
        in: path
        description: ECA ID
        required: true
        schema:
          type: integer
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/extended_care/classes/{internal_class_id}/meeting_times':
    get:
      tags:
        - 'Extended Care: Class Meeting Times'
      summary: 'List Extended Care: Class Meeting Times'
      operationId: list_extended_care_class_meeting_times
      parameters:
        - name: day
          in: query
          description: Day
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Class Calendar Day ID
                          readOnly: true
                        internal_class_id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        date:
                          type: string
                          format: date
                          description: Calendar Date
                        start_time:
                          type: string
                          format: date-time
                          description: Start Time
                        end_time:
                          type: string
                          format: date-time
                          description: End Time
                        begin_date:
                          type: string
                          format: date
                          description: Begin Date
                        end_date:
                          type: string
                          format: date
                          description: End Date
                        day:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Day
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 8
                          required:
                            - id
                            - description
                            - abbreviation
                        room:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Room
                            description:
                              type: string
                              description: Description
                              maxLength: 100
                          required:
                            - id
                            - description
                      required:
                        - id
                        - internal_class_id
                        - date
                        - start_time
                        - end_time
                        - begin_date
                        - end_date
                        - day
                        - room
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - day.id
                              - room.id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'extended_care.classes.meeting_times:list'
    parameters:
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/extended_care/classes/{internal_class_id}/meeting_times/{id}':
    get:
      tags:
        - 'Extended Care: Class Meeting Times'
      summary: 'Read Extended Care: Class Meeting Times'
      operationId: read_extended_care_class_meeting_times
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Class Calendar Day ID
                        readOnly: true
                      internal_class_id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      date:
                        type: string
                        format: date
                        description: Calendar Date
                      start_time:
                        type: string
                        format: date-time
                        description: Start Time
                      end_time:
                        type: string
                        format: date-time
                        description: End Time
                      begin_date:
                        type: string
                        format: date
                        description: Begin Date
                      end_date:
                        type: string
                        format: date
                        description: End Date
                      day:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Day
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 8
                        required:
                          - id
                          - description
                          - abbreviation
                      room:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Room
                          description:
                            type: string
                            description: Description
                            maxLength: 100
                        required:
                          - id
                          - description
                    required:
                      - id
                      - internal_class_id
                      - date
                      - start_time
                      - end_time
                      - begin_date
                      - end_date
                      - day
                      - room
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - day.id
                              - room.id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'extended_care.classes.meeting_times:read'
    parameters:
      - name: id
        in: path
        description: Class Calendar Day ID
        required: true
        schema:
          type: integer
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /extended_care/classes:
    post:
      tags:
        - 'Extended Care: Classes'
      summary: 'Create Extended Care: Classes'
      operationId: create_extended_care_classes
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    internal_course_id:
                      type: integer
                      description: Course ID (Internal)
                    class_id:
                      type: string
                      description: |-
                        Class ID

                        Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                        Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                      maxLength: 20
                    description:
                      type: string
                      description: Description
                      maxLength: 80
                    status:
                      type: integer
                      description: |-
                        Status

                        Status of the class (active, future, etc.)
                    school_year:
                      type: integer
                      description: School Year
                    begin_date:
                      type: string
                      format: date
                      description: Begin Date
                    end_date:
                      type: string
                      format: date
                      description: End Date
                    primary_grade_level_id:
                      type: integer
                      description: Primary Grade Level ID
                    school_level_id:
                      type: integer
                      description: School Level
                    primary_teacher_id:
                      type: integer
                      description: Teacher ID
                    room_id:
                      type: integer
                      description: Room ID
                    virtual_meeting_url:
                      type: string
                      description: |-
                        Virtual Meeting URL

                        To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                      maxLength: 2000
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
                  required:
                    - internal_course_id
                    - class_id
                    - description
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'extended_care.classes:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Extended Care: Classes'
      summary: 'List Extended Care: Classes'
      operationId: list_extended_care_classes
      parameters:
        - name: id
          in: query
          description: Internal Class ID
          required: false
          schema:
            type: integer
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: primary_teacher_id
          in: query
          description: Teacher ID
          required: false
          schema:
            type: integer
        - name: room_id
          in: query
          description: Room ID
          required: false
          schema:
            type: integer
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        internal_course_id:
                          type: integer
                          description: Course ID (Internal)
                        class_id:
                          type: string
                          description: |-
                            Class ID

                            Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                            Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                          maxLength: 20
                        description:
                          type: string
                          description: Description
                          maxLength: 80
                        status:
                          type: integer
                          description: |-
                            Status

                            Status of the class (active, future, etc.)
                        school_year:
                          type: integer
                          description: School Year
                        begin_date:
                          type: string
                          format: date
                          description: Begin Date
                        end_date:
                          type: string
                          format: date
                          description: End Date
                        primary_grade_level_id:
                          type: integer
                          description: Primary Grade Level ID
                        school_level_id:
                          type: integer
                          description: School Level
                        primary_teacher_id:
                          type: integer
                          description: Teacher ID
                        room_id:
                          type: integer
                          description: Room ID
                        virtual_meeting_url:
                          type: string
                          description: |-
                            Virtual Meeting URL

                            To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                          maxLength: 2000
                        subject_id:
                          type: integer
                          description: ID
                          readOnly: true
                        subject_description:
                          type: string
                          description: Description
                          maxLength: 50
                        department_id:
                          type: integer
                          description: ID
                          readOnly: true
                        department_description:
                          type: string
                          description: Description
                          maxLength: 100
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - internal_course_id
                        - class_id
                        - description
                        - status
                        - school_year
                        - begin_date
                        - end_date
                        - primary_grade_level_id
                        - school_level_id
                        - primary_teacher_id
                        - room_id
                        - virtual_meeting_url
                        - subject_id
                        - subject_description
                        - department_id
                        - department_description
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                              - school_year
                              - school_level_id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'extended_care.classes:list'
  '/extended_care/classes/{id}':
    get:
      tags:
        - 'Extended Care: Classes'
      summary: 'Read Extended Care: Classes'
      operationId: read_extended_care_classes
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      internal_course_id:
                        type: integer
                        description: Course ID (Internal)
                      class_id:
                        type: string
                        description: |-
                          Class ID

                          Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                          Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                        maxLength: 20
                      description:
                        type: string
                        description: Description
                        maxLength: 80
                      status:
                        type: integer
                        description: |-
                          Status

                          Status of the class (active, future, etc.)
                      school_year:
                        type: integer
                        description: School Year
                      begin_date:
                        type: string
                        format: date
                        description: Begin Date
                      end_date:
                        type: string
                        format: date
                        description: End Date
                      primary_grade_level_id:
                        type: integer
                        description: Primary Grade Level ID
                      school_level_id:
                        type: integer
                        description: School Level
                      primary_teacher_id:
                        type: integer
                        description: Teacher ID
                      room_id:
                        type: integer
                        description: Room ID
                      virtual_meeting_url:
                        type: string
                        description: |-
                          Virtual Meeting URL

                          To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                        maxLength: 2000
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - internal_course_id
                      - class_id
                      - description
                      - status
                      - school_year
                      - begin_date
                      - end_date
                      - primary_grade_level_id
                      - school_level_id
                      - primary_teacher_id
                      - room_id
                      - virtual_meeting_url
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                              - school_year
                              - school_level_id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'extended_care.classes:read'
    parameters:
      - name: id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Extended Care: Classes'
      summary: 'Update Extended Care: Classes'
      operationId: update_extended_care_classes
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    internal_course_id:
                      type: integer
                      description: Course ID (Internal)
                    class_id:
                      type: string
                      description: |-
                        Class ID

                        Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                        Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                      maxLength: 20
                    description:
                      type: string
                      description: Description
                      maxLength: 80
                    status:
                      type: integer
                      description: |-
                        Status

                        Status of the class (active, future, etc.)
                    school_year:
                      type: integer
                      description: School Year
                    begin_date:
                      type: string
                      format: date
                      description: Begin Date
                    end_date:
                      type: string
                      format: date
                      description: End Date
                    primary_grade_level_id:
                      type: integer
                      description: Primary Grade Level ID
                    school_level_id:
                      type: integer
                      description: School Level
                    primary_teacher_id:
                      type: integer
                      description: Teacher ID
                    room_id:
                      type: integer
                      description: Room ID
                    virtual_meeting_url:
                      type: string
                      description: |-
                        Virtual Meeting URL

                        To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                      maxLength: 2000
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'extended_care.classes:update'
  /extended_care/courses:
    get:
      tags:
        - 'Extended Care: Courses'
      summary: 'List Extended Care: Courses'
      operationId: list_extended_care_courses
      parameters:
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Internal Course ID
                          readOnly: true
                        name:
                          type: string
                          description: Course Name
                          maxLength: 100
                        subject_id:
                          type: integer
                          description: Subject ID
                        subject_description:
                          type: string
                          description: Description
                          maxLength: 50
                        course_id:
                          type: string
                          description: Course ID
                          maxLength: 15
                        catalog_title:
                          type: string
                          description: Catalog Title
                          maxLength: 100
                        catalog_description:
                          type: string
                          description: Catalog Description
                          maxLength: 8000
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - name
                        - subject_id
                        - subject_description
                        - course_id
                        - catalog_title
                        - catalog_description
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'extended_care.courses:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    post:
      tags:
        - 'Extended Care: Courses'
      summary: 'Create Extended Care: Courses'
      operationId: create_extended_care_courses
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Description
                      maxLength: 100
                    subject_id:
                      type: string
                      description: Subject
                    course_id:
                      type: string
                      description: Course ID
                      maxLength: 15
                    catalog_title:
                      type: string
                      description: Catalog Title
                      maxLength: 100
                    catalog_description:
                      type: string
                      description: Notes
                      maxLength: 8000
                  required:
                    - name
                    - subject_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'extended_care.courses:create'
  '/extended_care/courses/{id}':
    get:
      tags:
        - 'Extended Care: Courses'
      summary: 'Read Extended Care: Courses'
      operationId: read_extended_care_courses
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Internal Course ID
                        readOnly: true
                      name:
                        type: string
                        description: Course Name
                        maxLength: 100
                      subject_id:
                        type: integer
                        description: Subject ID
                      subject_description:
                        type: string
                        description: Description
                        maxLength: 50
                      course_id:
                        type: string
                        description: Course ID
                        maxLength: 15
                      catalog_title:
                        type: string
                        description: Catalog Title
                        maxLength: 100
                      catalog_description:
                        type: string
                        description: Catalog Description
                        maxLength: 8000
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - name
                      - subject_id
                      - subject_description
                      - course_id
                      - catalog_title
                      - catalog_description
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'extended_care.courses:read'
    parameters:
      - name: id
        in: path
        description: Internal Course ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Extended Care: Courses'
      summary: 'Update Extended Care: Courses'
      operationId: update_extended_care_courses
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Internal Course ID
                      readOnly: true
                    name:
                      type: string
                      description: Course Name
                      maxLength: 100
                    subject_id:
                      type: integer
                      description: Subject ID
                    subject_description:
                      type: string
                      description: Description
                      maxLength: 50
                    course_id:
                      type: string
                      description: Course ID
                      maxLength: 15
                    catalog_title:
                      type: string
                      description: Catalog Title
                      maxLength: 100
                    catalog_description:
                      type: string
                      description: Catalog Description
                      maxLength: 8000
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'extended_care.courses:update'
  /extended_care/registrations:
    get:
      tags:
        - 'Extended Care: Registrations'
      summary: 'List Extended Care: Registrations'
      operationId: list_extended_care_registrations
      parameters:
        - name: internal_class_id
          in: query
          description: Internal Class ID
          required: false
          schema:
            type: integer
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ECR ID
                          readOnly: true
                        internal_class_id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        class_description:
                          type: string
                          description: Description
                          maxLength: 80
                        primary_teacher:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Teacher ID
                            name_prefix:
                              type: string
                              description: Description
                              readOnly: true
                            first_name:
                              type: string
                              description: First Name
                              maxLength: 50
                            middle_name:
                              type: string
                              description: Middle Name
                              maxLength: 50
                            last_name:
                              type: string
                              description: Last Name
                              maxLength: 50
                            name_suffix:
                              type: string
                              description: Description
                              readOnly: true
                            preferred_name:
                              type: string
                              description: Preferred Name
                              maxLength: 50
                          required:
                            - id
                            - name_prefix
                            - first_name
                            - middle_name
                            - last_name
                            - name_suffix
                            - preferred_name
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        registration_date:
                          type: string
                          format: date
                          description: Registration Date
                        day_of_week:
                          type: integer
                          description: Day Of Week
                        begin_date:
                          type: string
                          format: date
                          description: Start Date
                        end_date:
                          type: string
                          format: date
                          description: End Date
                      required:
                        - id
                        - internal_class_id
                        - class_description
                        - primary_teacher
                        - person_id
                        - registration_date
                        - day_of_week
                        - begin_date
                        - end_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - day_of_week
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'extended_care.registrations:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/extended_care/registrations/{id}':
    get:
      tags:
        - 'Extended Care: Registrations'
      summary: 'Read Extended Care: Registrations'
      operationId: read_extended_care_registrations
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ECR ID
                        readOnly: true
                      internal_class_id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      class_description:
                        type: string
                        description: Description
                        maxLength: 80
                      primary_teacher:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Teacher ID
                          name_prefix:
                            type: string
                            description: Description
                            readOnly: true
                          first_name:
                            type: string
                            description: First Name
                            maxLength: 50
                          middle_name:
                            type: string
                            description: Middle Name
                            maxLength: 50
                          last_name:
                            type: string
                            description: Last Name
                            maxLength: 50
                          name_suffix:
                            type: string
                            description: Description
                            readOnly: true
                          preferred_name:
                            type: string
                            description: Preferred Name
                            maxLength: 50
                        required:
                          - id
                          - name_prefix
                          - first_name
                          - middle_name
                          - last_name
                          - name_suffix
                          - preferred_name
                      person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      registration_date:
                        type: string
                        format: date
                        description: Registration Date
                      day_of_week:
                        type: integer
                        description: Day Of Week
                      begin_date:
                        type: string
                        format: date
                        description: Start Date
                      end_date:
                        type: string
                        format: date
                        description: End Date
                    required:
                      - id
                      - internal_class_id
                      - class_description
                      - primary_teacher
                      - person_id
                      - registration_date
                      - day_of_week
                      - begin_date
                      - end_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - day_of_week
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'extended_care.registrations:read'
    parameters:
      - name: id
        in: path
        description: ECR ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/finance/ap_disbursements/{disbursement_id}/ap_disbursement_items':
    post:
      tags:
        - 'Finance: AP Disbursement Items'
      summary: 'Create Finance: AP Disbursement Items'
      operationId: create_finance_ap_disbursement_items
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    disbursement_item_id:
                      type: integer
                      description: Disbursement Item ID
                      readOnly: true
                    disbursement_header_id:
                      type: string
                      description: Disbursement Header
                    amount:
                      type: number
                      description: |-
                        Amount

                        Amount of this transaction that has been posted to the general ledger.
                    description:
                      type: string
                      description: Description
                      maxLength: 80
                    cleared:
                      type: boolean
                      description: Cleared?
                    debit_gl_account:
                      type: string
                      description: DR GL Account
                      readOnly: true
                    ap_invoice_header:
                      type: string
                      description: AP Invoice
                    ap_invoice_item:
                      type: string
                      description: AP Item
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.ap_disbursements.ap_disbursement_items:create'
    parameters:
      - name: disbursement_id
        in: path
        description: Disbursement Header
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/api_revision'
  /finance/ap_disbursement_items:
    get:
      tags:
        - 'Finance: AP Disbursement Items'
      summary: 'List Finance: AP Disbursement Items'
      operationId: list_finance_ap_disbursement_items
      parameters:
        - name: disbursement_header_id
          in: query
          description: Disbursement Header ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        disbursement_item_id:
                          type: integer
                          description: Disbursement Item ID
                          readOnly: true
                        disbursement_header_id:
                          type: integer
                          description: Disbursement Header ID
                        disbursement_header:
                          type: string
                          description: Disbursement Header
                        debit_gl_account:
                          type: string
                          description: DR GL Account
                          readOnly: true
                        amount:
                          type: number
                          description: |-
                            Amount

                            Amount of this transaction that has been posted to the general ledger.
                        unapplied_amount:
                          type: number
                          description: Unapplied Amount
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 80
                        je_ref_id:
                          type: string
                          description: 'JE Ref # - Read Only'
                          readOnly: true
                        posted:
                          type: boolean
                          description: Posted? - Read Only
                          readOnly: true
                        posting_date:
                          type: string
                          format: date
                          description: Posting Date - Read Only
                          readOnly: true
                        cleared:
                          type: boolean
                          description: Cleared?
                        ap_invoice_header:
                          type: string
                          description: AP Invoice
                        ap_invoice_item:
                          type: string
                          description: AP Item
                        input_date:
                          type: string
                          format: date-time
                          description: Input Date (Local)
                          readOnly: true
                        last_modified_date:
                          type: string
                          format: date
                          description: Last Modified Date
                          readOnly: true
                        ap_invoice_id:
                          type: integer
                          description: AP Invoice ID
                        ap_invoice_item_id:
                          type: integer
                          description: AP Item ID
                      required:
                        - disbursement_item_id
                        - disbursement_header_id
                        - disbursement_header
                        - debit_gl_account
                        - amount
                        - unapplied_amount
                        - description
                        - je_ref_id
                        - posted
                        - posting_date
                        - cleared
                        - ap_invoice_header
                        - ap_invoice_item
                        - input_date
                        - last_modified_date
                        - ap_invoice_id
                        - ap_invoice_item_id
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.ap_disbursement_items:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/finance/ap_disbursement_items/{id}':
    get:
      tags:
        - 'Finance: AP Disbursement Items'
      summary: 'Read Finance: AP Disbursement Items'
      operationId: read_finance_ap_disbursement_items
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      disbursement_item_id:
                        type: integer
                        description: Disbursement Item ID
                        readOnly: true
                      disbursement_header_id:
                        type: integer
                        description: Disbursement Header ID
                      disbursement_header:
                        type: string
                        description: Disbursement Header
                      debit_gl_account:
                        type: string
                        description: DR GL Account
                        readOnly: true
                      amount:
                        type: number
                        description: |-
                          Amount

                          Amount of this transaction that has been posted to the general ledger.
                      unapplied_amount:
                        type: number
                        description: Unapplied Amount
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 80
                      je_ref_id:
                        type: string
                        description: 'JE Ref # - Read Only'
                        readOnly: true
                      posted:
                        type: boolean
                        description: Posted? - Read Only
                        readOnly: true
                      posting_date:
                        type: string
                        format: date
                        description: Posting Date - Read Only
                        readOnly: true
                      cleared:
                        type: boolean
                        description: Cleared?
                      ap_invoice_header:
                        type: string
                        description: AP Invoice
                      ap_invoice_item:
                        type: string
                        description: AP Item
                      input_date:
                        type: string
                        format: date-time
                        description: Input Date (Local)
                        readOnly: true
                      last_modified_date:
                        type: string
                        format: date
                        description: Last Modified Date
                        readOnly: true
                      ap_invoice_id:
                        type: integer
                        description: AP Invoice ID
                      ap_invoice_item_id:
                        type: integer
                        description: AP Item ID
                    required:
                      - disbursement_item_id
                      - disbursement_header_id
                      - disbursement_header
                      - debit_gl_account
                      - amount
                      - unapplied_amount
                      - description
                      - je_ref_id
                      - posted
                      - posting_date
                      - cleared
                      - ap_invoice_header
                      - ap_invoice_item
                      - input_date
                      - last_modified_date
                      - ap_invoice_id
                      - ap_invoice_item_id
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.ap_disbursement_items:read'
    parameters:
      - name: id
        in: path
        description: Disbursement Item ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Finance: AP Disbursement Items'
      summary: 'Update Finance: AP Disbursement Items'
      operationId: update_finance_ap_disbursement_items
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    disbursement_item_id:
                      type: integer
                      description: Disbursement Item ID
                      readOnly: true
                    disbursement_header_id:
                      type: integer
                      description: Disbursement Header ID
                    disbursement_header:
                      type: string
                      description: Disbursement Header
                    debit_gl_account:
                      type: string
                      description: DR GL Account
                      readOnly: true
                    amount:
                      type: number
                      description: |-
                        Amount

                        Amount of this transaction that has been posted to the general ledger.
                    unapplied_amount:
                      type: number
                      description: Unapplied Amount
                      readOnly: true
                    description:
                      type: string
                      description: Description
                      maxLength: 80
                    je_ref_id:
                      type: string
                      description: 'JE Ref # - Read Only'
                      readOnly: true
                    posted:
                      type: boolean
                      description: Posted? - Read Only
                      readOnly: true
                    posting_date:
                      type: string
                      format: date
                      description: Posting Date - Read Only
                      readOnly: true
                    cleared:
                      type: boolean
                      description: Cleared?
                    ap_invoice_header:
                      type: string
                      description: AP Invoice
                    ap_invoice_item:
                      type: string
                      description: AP Item
                    input_date:
                      type: string
                      format: date-time
                      description: Input Date (Local)
                      readOnly: true
                    last_modified_date:
                      type: string
                      format: date
                      description: Last Modified Date
                      readOnly: true
                    ap_invoice_id:
                      type: integer
                      description: AP Invoice ID
                    ap_invoice_item_id:
                      type: integer
                      description: AP Item ID
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.ap_disbursement_items:update'
  /finance/ap_disbursements:
    post:
      tags:
        - 'Finance: AP Disbursements'
      summary: 'Create Finance: AP Disbursements'
      operationId: create_finance_ap_disbursements
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    disbursement_id:
                      type: integer
                      description: Disbursement Header
                      readOnly: true
                    check_reference_number:
                      type: integer
                      description: Check/Reference Number
                    description:
                      type: string
                      description: Description
                      maxLength: 80
                    disbursement_date:
                      type: string
                      format: date
                      description: Disbursement Date
                    disbursement_category:
                      type: integer
                      description: Disbursement Category
                    disbursement_type:
                      type: integer
                      description: Disbursement Type
                    vendor_id:
                      type: integer
                      description: Vendor ID
                    cash_gl_account_id:
                      type: integer
                      description: Cash GL Account ID
                    payee_name:
                      type: string
                      description: Payee Name
                      maxLength: 200
                    amount:
                      type: number
                      description: Amount
                    cleared:
                      type: boolean
                      description: Cleared (H)?
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.ap_disbursements:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Finance: AP Disbursements'
      summary: 'List Finance: AP Disbursements'
      operationId: list_finance_ap_disbursements
      parameters:
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        disbursement_id:
                          type: integer
                          description: Disbursement Header
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 80
                        check_reference_number:
                          type: integer
                          description: Check/Reference Number
                        disbursement_date:
                          type: string
                          format: date
                          description: Disbursement Date
                        disbursement_category:
                          type: integer
                          description: Disbursement Category
                        disbursement_type:
                          type: integer
                          description: Disbursement Type
                        vendor:
                          type: string
                          description: Organization
                          maxLength: 200
                        vendor_id:
                          type: integer
                          description: Vendor ID
                        cash_gl_account:
                          type: string
                          description: GL Account
                          readOnly: true
                        cash_gl_account_id:
                          type: integer
                          description: Cash GL Account ID
                        payee_name:
                          type: string
                          description: Payee Name
                          maxLength: 200
                        amount:
                          type: number
                          description: Amount - Read Only
                          readOnly: true
                        posting_date:
                          type: string
                          format: date
                          description: Posting Date - Read Only
                          readOnly: true
                        je_ref_id:
                          type: string
                          description: 'JE Ref # - Read Only'
                          readOnly: true
                        cleared:
                          type: boolean
                          description: Cleared (H)?
                        void:
                          type: boolean
                          description: Void? - Read Only
                          readOnly: true
                        entered_as_void:
                          type: boolean
                          description: Entered As Void? - Read Only
                          readOnly: true
                        input_date:
                          type: string
                          format: date
                          description: Input Date
                        last_modified_date:
                          type: string
                          format: date
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - disbursement_id
                        - description
                        - check_reference_number
                        - disbursement_date
                        - disbursement_category
                        - disbursement_type
                        - vendor
                        - vendor_id
                        - cash_gl_account
                        - cash_gl_account_id
                        - payee_name
                        - amount
                        - posting_date
                        - je_ref_id
                        - cleared
                        - void
                        - entered_as_void
                        - input_date
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - disbursement_category
                              - disbursement_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.ap_disbursements:list'
  '/finance/ap_disbursements/{id}':
    get:
      tags:
        - 'Finance: AP Disbursements'
      summary: 'Read Finance: AP Disbursements'
      operationId: read_finance_ap_disbursements
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      disbursement_id:
                        type: integer
                        description: Disbursement Header
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 80
                      check_reference_number:
                        type: integer
                        description: Check/Reference Number
                      disbursement_date:
                        type: string
                        format: date
                        description: Disbursement Date
                      disbursement_category:
                        type: integer
                        description: Disbursement Category
                      disbursement_type:
                        type: integer
                        description: Disbursement Type
                      vendor:
                        type: string
                        description: Organization
                        maxLength: 200
                      vendor_id:
                        type: integer
                        description: Vendor ID
                      cash_gl_account:
                        type: string
                        description: GL Account
                        readOnly: true
                      cash_gl_account_id:
                        type: integer
                        description: Cash GL Account ID
                      payee_name:
                        type: string
                        description: Payee Name
                        maxLength: 200
                      amount:
                        type: number
                        description: Amount - Read Only
                        readOnly: true
                      posting_date:
                        type: string
                        format: date
                        description: Posting Date - Read Only
                        readOnly: true
                      je_ref_id:
                        type: string
                        description: 'JE Ref # - Read Only'
                        readOnly: true
                      cleared:
                        type: boolean
                        description: Cleared (H)?
                      void:
                        type: boolean
                        description: Void? - Read Only
                        readOnly: true
                      entered_as_void:
                        type: boolean
                        description: Entered As Void? - Read Only
                        readOnly: true
                      input_date:
                        type: string
                        format: date
                        description: Input Date
                      last_modified_date:
                        type: string
                        format: date
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - disbursement_id
                      - description
                      - check_reference_number
                      - disbursement_date
                      - disbursement_category
                      - disbursement_type
                      - vendor
                      - vendor_id
                      - cash_gl_account
                      - cash_gl_account_id
                      - payee_name
                      - amount
                      - posting_date
                      - je_ref_id
                      - cleared
                      - void
                      - entered_as_void
                      - input_date
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - disbursement_category
                              - disbursement_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.ap_disbursements:read'
    parameters:
      - name: id
        in: path
        description: Disbursement Header
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Finance: AP Disbursements'
      summary: 'Update Finance: AP Disbursements'
      operationId: update_finance_ap_disbursements
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    disbursement_id:
                      type: integer
                      description: Disbursement Header
                      readOnly: true
                    description:
                      type: string
                      description: Description
                      maxLength: 80
                    check_reference_number:
                      type: integer
                      description: Check/Reference Number
                    disbursement_date:
                      type: string
                      format: date
                      description: Disbursement Date
                    disbursement_category:
                      type: integer
                      description: Disbursement Category
                    disbursement_type:
                      type: integer
                      description: Disbursement Type
                    vendor:
                      type: string
                      description: Organization
                      maxLength: 200
                    vendor_id:
                      type: integer
                      description: Vendor ID
                    cash_gl_account:
                      type: string
                      description: GL Account
                      readOnly: true
                    cash_gl_account_id:
                      type: integer
                      description: Cash GL Account ID
                    payee_name:
                      type: string
                      description: Payee Name
                      maxLength: 200
                    amount:
                      type: number
                      description: Amount - Read Only
                      readOnly: true
                    posting_date:
                      type: string
                      format: date
                      description: Posting Date - Read Only
                      readOnly: true
                    je_ref_id:
                      type: string
                      description: 'JE Ref # - Read Only'
                      readOnly: true
                    cleared:
                      type: boolean
                      description: Cleared (H)?
                    void:
                      type: boolean
                      description: Void? - Read Only
                      readOnly: true
                    entered_as_void:
                      type: boolean
                      description: Entered As Void? - Read Only
                      readOnly: true
                    input_date:
                      type: string
                      format: date
                      description: Input Date
                    last_modified_date:
                      type: string
                      format: date
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.ap_disbursements:update'
  '/finance/ap_invoices/{invoice_id}/ap_invoice_items':
    post:
      tags:
        - 'Finance: AP Invoice Items'
      summary: 'Create Finance: AP Invoice Items'
      operationId: create_finance_ap_invoice_items
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    invoice_item_id:
                      type: integer
                      description: AP Item ID
                      readOnly: true
                    ap_invoice_header_id:
                      type: integer
                      description: AP Invoice Header ID
                    invoice_date:
                      type: string
                      format: date
                      description: |-
                        Invoice Date

                        Item date is almost always the same as the invoice date , except in cases of adjustment items.
                    quantity:
                      type: number
                      description: Quantity
                    unit_cost:
                      type: number
                      description: Unit Cost
                    amount:
                      type: number
                      description: Amount
                    dr_gl_account:
                      type: string
                      description: DR GL Account
                      readOnly: true
                    project_id:
                      type: string
                      description: 'Project #'
                      readOnly: true
                    ap_description:
                      type: string
                      description: AP Description
                      maxLength: 200
                    tax_amount:
                      type: number
                      description: Tax Amount
                    tax_type:
                      type: string
                      description: |-
                        Tax Rate

                        By specifying a Tax Type here, GST will be posted to the General Ledger and recorded on the BAS.
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.ap_invoices.ap_invoice_items:create'
    parameters:
      - name: invoice_id
        in: path
        description: AP Invoice Header ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /finance/ap_invoice_items:
    get:
      tags:
        - 'Finance: AP Invoice Items'
      summary: 'List Finance: AP Invoice Items'
      operationId: list_finance_ap_invoice_items
      parameters:
        - name: ap_invoice_header_id
          in: query
          description: AP Header ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        invoice_item_id:
                          type: integer
                          description: AP Item ID
                          readOnly: true
                        invoice_number:
                          type: string
                          description: Invoice Number
                          maxLength: 30
                        ap_invoice_header_id:
                          type: integer
                          description: AP Header ID
                          readOnly: true
                        vendor:
                          type: string
                          description: Vendor - Read Only
                          readOnly: true
                        invoice_date:
                          type: string
                          format: date
                          description: |-
                            Invoice Date

                            Item date is almost always the same as the invoice date , except in cases of adjustment items.
                        due_date:
                          type: string
                          format: date
                          description: Due Date
                        posting_date:
                          type: string
                          format: date
                          description: Posting Date - Read Only
                          readOnly: true
                        quantity:
                          type: number
                          description: Quantity
                        unit_cost:
                          type: number
                          description: Unit Cost
                        amount:
                          type: number
                          description: Amount
                        dr_gl_account:
                          type: string
                          description: DR GL Account
                          readOnly: true
                        project_id:
                          type: string
                          description: 'Project #'
                          readOnly: true
                        ap_description:
                          type: string
                          description: AP Description
                          maxLength: 200
                        je_ref_id:
                          type: string
                          description: 'JE Ref. # - Read Only'
                          readOnly: true
                        posted:
                          type: boolean
                          description: Posted? - Read Only
                          readOnly: true
                        last_modified_date:
                          type: string
                          format: date
                          description: Last Modified Date
                          readOnly: true
                        tax_type:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Tax Type ID
                            description:
                              type: string
                              description: |-
                                Tax Rate

                                By specifying a Tax Type here, GST will be posted to the General Ledger and recorded on the BAS.
                            tax_percent:
                              type: number
                              description: Tax Percent
                          required:
                            - id
                            - description
                            - tax_percent
                        tax_amount:
                          type: number
                          description: Tax Amount
                      required:
                        - invoice_item_id
                        - invoice_number
                        - ap_invoice_header_id
                        - vendor
                        - invoice_date
                        - due_date
                        - posting_date
                        - quantity
                        - unit_cost
                        - amount
                        - dr_gl_account
                        - project_id
                        - ap_description
                        - je_ref_id
                        - posted
                        - last_modified_date
                        - tax_type
                        - tax_amount
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.ap_invoice_items:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/finance/ap_invoice_items/{id}':
    get:
      tags:
        - 'Finance: AP Invoice Items'
      summary: 'Read Finance: AP Invoice Items'
      operationId: read_finance_ap_invoice_items
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      invoice_item_id:
                        type: integer
                        description: AP Item ID
                        readOnly: true
                      invoice_number:
                        type: string
                        description: Invoice Number
                        maxLength: 30
                      ap_invoice_header_id:
                        type: integer
                        description: AP Header ID
                        readOnly: true
                      vendor:
                        type: string
                        description: Vendor - Read Only
                        readOnly: true
                      invoice_date:
                        type: string
                        format: date
                        description: |-
                          Invoice Date

                          Item date is almost always the same as the invoice date , except in cases of adjustment items.
                      due_date:
                        type: string
                        format: date
                        description: Due Date
                      posting_date:
                        type: string
                        format: date
                        description: Posting Date - Read Only
                        readOnly: true
                      quantity:
                        type: number
                        description: Quantity
                      unit_cost:
                        type: number
                        description: Unit Cost
                      amount:
                        type: number
                        description: Amount
                      dr_gl_account:
                        type: string
                        description: DR GL Account
                        readOnly: true
                      project_id:
                        type: string
                        description: 'Project #'
                        readOnly: true
                      ap_description:
                        type: string
                        description: AP Description
                        maxLength: 200
                      je_ref_id:
                        type: string
                        description: 'JE Ref. # - Read Only'
                        readOnly: true
                      posted:
                        type: boolean
                        description: Posted? - Read Only
                        readOnly: true
                      last_modified_date:
                        type: string
                        format: date
                        description: Last Modified Date
                        readOnly: true
                      tax_type:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Tax Type ID
                          description:
                            type: string
                            description: |-
                              Tax Rate

                              By specifying a Tax Type here, GST will be posted to the General Ledger and recorded on the BAS.
                          tax_percent:
                            type: number
                            description: Tax Percent
                        required:
                          - id
                          - description
                          - tax_percent
                      tax_amount:
                        type: number
                        description: Tax Amount
                    required:
                      - invoice_item_id
                      - invoice_number
                      - ap_invoice_header_id
                      - vendor
                      - invoice_date
                      - due_date
                      - posting_date
                      - quantity
                      - unit_cost
                      - amount
                      - dr_gl_account
                      - project_id
                      - ap_description
                      - je_ref_id
                      - posted
                      - last_modified_date
                      - tax_type
                      - tax_amount
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.ap_invoice_items:read'
    parameters:
      - name: id
        in: path
        description: AP Item ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Finance: AP Invoice Items'
      summary: 'Update Finance: AP Invoice Items'
      operationId: update_finance_ap_invoice_items
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    invoice_item_id:
                      type: integer
                      description: AP Item ID
                      readOnly: true
                    invoice_number:
                      type: string
                      description: Invoice Number
                      maxLength: 30
                    ap_invoice_header_id:
                      type: integer
                      description: AP Header ID
                      readOnly: true
                    vendor:
                      type: string
                      description: Vendor - Read Only
                      readOnly: true
                    invoice_date:
                      type: string
                      format: date
                      description: |-
                        Invoice Date

                        Item date is almost always the same as the invoice date , except in cases of adjustment items.
                    due_date:
                      type: string
                      format: date
                      description: Due Date
                    posting_date:
                      type: string
                      format: date
                      description: Posting Date - Read Only
                      readOnly: true
                    quantity:
                      type: number
                      description: Quantity
                    unit_cost:
                      type: number
                      description: Unit Cost
                    amount:
                      type: number
                      description: Amount
                    dr_gl_account:
                      type: string
                      description: DR GL Account
                      readOnly: true
                    project_id:
                      type: string
                      description: 'Project #'
                      readOnly: true
                    ap_description:
                      type: string
                      description: AP Description
                      maxLength: 200
                    je_ref_id:
                      type: string
                      description: 'JE Ref. # - Read Only'
                      readOnly: true
                    posted:
                      type: boolean
                      description: Posted? - Read Only
                      readOnly: true
                    last_modified_date:
                      type: string
                      format: date
                      description: Last Modified Date
                      readOnly: true
                    tax_type:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Tax Type ID
                        description:
                          type: string
                          description: |-
                            Tax Rate

                            By specifying a Tax Type here, GST will be posted to the General Ledger and recorded on the BAS.
                        tax_percent:
                          type: number
                          description: Tax Percent
                      required:
                        - id
                        - description
                        - tax_percent
                    tax_amount:
                      type: number
                      description: Tax Amount
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.ap_invoice_items:update'
  /finance/ap_invoices:
    post:
      tags:
        - 'Finance: AP Invoices'
      summary: 'Create Finance: AP Invoices'
      description: 'The duplicate (non-shown) ID fields without `_id` are only for backwards compatibility, and should eventually be removed.'
      operationId: create_finance_ap_invoices
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    invoice_id:
                      type: integer
                      description: AP Header ID
                      readOnly: true
                    invoice_number:
                      type: string
                      description: Invoice Number
                      maxLength: 30
                    invoice_date:
                      type: string
                      format: date
                      description: Invoice Date
                    due_date:
                      type: string
                      format: date
                      description: Due Date
                    description:
                      type: string
                      description: Description
                      maxLength: 80
                    ap_gl_account_id:
                      type: integer
                      description: AP GL Account ID
                    approval_person_id:
                      type: integer
                      description: Approval Person ID
                    vendor_id:
                      type: integer
                      description: Vendor ID
                  required:
                    - invoice_number
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.ap_invoices:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Finance: AP Invoices'
      summary: 'List Finance: AP Invoices'
      operationId: list_finance_ap_invoices
      parameters:
        - name: vendor_id
          in: query
          description: Vendor ID
          required: false
          schema:
            type: integer
        - name: unpaid_only
          in: query
          description: Unpaid? - Read Only
          required: false
          schema:
            type: boolean
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        invoice_id:
                          type: integer
                          description: AP Header ID
                          readOnly: true
                        invoice_number:
                          type: string
                          description: Invoice Number
                          maxLength: 30
                        vendor:
                          type: string
                          description: Vendor
                        vendor_id:
                          type: integer
                          description: Vendor ID
                        invoice_date:
                          type: string
                          format: date
                          description: Invoice Date
                        due_date:
                          type: string
                          format: date
                          description: Due Date
                        posting_date:
                          type: string
                          format: date
                          description: Posting Date - Read Only
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 80
                        ap_gl_account:
                          type: string
                          description: AP GL Account
                          readOnly: true
                        ap_gl_account_id:
                          type: integer
                          description: AP GL Account ID
                        ap_gl_cost_center:
                          type: integer
                          description: AP GL Cost Center - Read Only
                          readOnly: true
                        gross_amount:
                          type: number
                          description: Gross Amount - Read Only
                          readOnly: true
                        as_posted_amount:
                          type: number
                          description: As Posted Amount - Read Only
                          readOnly: true
                        net_amount_paid:
                          type: number
                          description: Net Amount Paid - Read Only
                          readOnly: true
                        unpaid_amount:
                          type: number
                          description: Unpaid Amount
                          readOnly: true
                        fiscal_year:
                          type: integer
                          description: Fiscal Year - Read Only
                          readOnly: true
                        fiscal_period:
                          type: integer
                          description: Fiscal Period - Read Only
                          readOnly: true
                        approval_person:
                          type: string
                          description: |-
                            Approval Person

                            Person who must approve this expense prior to its posting and payment
                          readOnly: true
                        approval_person_id:
                          type: integer
                          description: Approval Person ID
                        do_not_pay:
                          type: boolean
                          description: Do Not Pay?
                        last_modified_date:
                          type: string
                          format: date
                          description: Last Modified Date
                          readOnly: true
                        tax_type:
                          type: string
                          description: Tax Type ID for AP Invoices
                          readOnly: true
                        inclusive_exclusive:
                          type: string
                          description: Inclusive/Exclusive for AP Invoices
                          readOnly: true
                        total_tax:
                          type: number
                          description: Total Tax
                      required:
                        - invoice_id
                        - invoice_number
                        - vendor
                        - vendor_id
                        - invoice_date
                        - due_date
                        - posting_date
                        - description
                        - ap_gl_account
                        - ap_gl_account_id
                        - ap_gl_cost_center
                        - gross_amount
                        - as_posted_amount
                        - net_amount_paid
                        - unpaid_amount
                        - fiscal_year
                        - fiscal_period
                        - approval_person
                        - approval_person_id
                        - do_not_pay
                        - last_modified_date
                        - tax_type
                        - inclusive_exclusive
                        - total_tax
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - ap_gl_cost_center
                              - fiscal_year
                              - fiscal_period
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.ap_invoices:list'
  '/finance/ap_invoices/{id}':
    get:
      tags:
        - 'Finance: AP Invoices'
      summary: 'Read Finance: AP Invoices'
      operationId: read_finance_ap_invoices
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      invoice_id:
                        type: integer
                        description: AP Header ID
                        readOnly: true
                      invoice_number:
                        type: string
                        description: Invoice Number
                        maxLength: 30
                      vendor:
                        type: string
                        description: Vendor
                      vendor_id:
                        type: integer
                        description: Vendor ID
                      invoice_date:
                        type: string
                        format: date
                        description: Invoice Date
                      due_date:
                        type: string
                        format: date
                        description: Due Date
                      posting_date:
                        type: string
                        format: date
                        description: Posting Date - Read Only
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 80
                      ap_gl_account:
                        type: string
                        description: AP GL Account
                        readOnly: true
                      ap_gl_account_id:
                        type: integer
                        description: AP GL Account ID
                      ap_gl_cost_center:
                        type: integer
                        description: AP GL Cost Center - Read Only
                        readOnly: true
                      gross_amount:
                        type: number
                        description: Gross Amount - Read Only
                        readOnly: true
                      as_posted_amount:
                        type: number
                        description: As Posted Amount - Read Only
                        readOnly: true
                      net_amount_paid:
                        type: number
                        description: Net Amount Paid - Read Only
                        readOnly: true
                      unpaid_amount:
                        type: number
                        description: Unpaid Amount
                        readOnly: true
                      fiscal_year:
                        type: integer
                        description: Fiscal Year - Read Only
                        readOnly: true
                      fiscal_period:
                        type: integer
                        description: Fiscal Period - Read Only
                        readOnly: true
                      approval_person:
                        type: string
                        description: |-
                          Approval Person

                          Person who must approve this expense prior to its posting and payment
                        readOnly: true
                      approval_person_id:
                        type: integer
                        description: Approval Person ID
                      do_not_pay:
                        type: boolean
                        description: Do Not Pay?
                      last_modified_date:
                        type: string
                        format: date
                        description: Last Modified Date
                        readOnly: true
                      tax_type:
                        type: string
                        description: Tax Type ID for AP Invoices
                        readOnly: true
                      inclusive_exclusive:
                        type: string
                        description: Inclusive/Exclusive for AP Invoices
                        readOnly: true
                      total_tax:
                        type: number
                        description: Total Tax
                    required:
                      - invoice_id
                      - invoice_number
                      - vendor
                      - vendor_id
                      - invoice_date
                      - due_date
                      - posting_date
                      - description
                      - ap_gl_account
                      - ap_gl_account_id
                      - ap_gl_cost_center
                      - gross_amount
                      - as_posted_amount
                      - net_amount_paid
                      - unpaid_amount
                      - fiscal_year
                      - fiscal_period
                      - approval_person
                      - approval_person_id
                      - do_not_pay
                      - last_modified_date
                      - tax_type
                      - inclusive_exclusive
                      - total_tax
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - ap_gl_cost_center
                              - fiscal_year
                              - fiscal_period
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.ap_invoices:read'
    parameters:
      - name: id
        in: path
        description: AP Header ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Finance: AP Invoices'
      summary: 'Update Finance: AP Invoices'
      operationId: update_finance_ap_invoices
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    invoice_id:
                      type: integer
                      description: AP Header ID
                      readOnly: true
                    invoice_number:
                      type: string
                      description: Invoice Number
                      maxLength: 30
                    vendor:
                      type: string
                      description: Vendor
                    vendor_id:
                      type: integer
                      description: Vendor ID
                    invoice_date:
                      type: string
                      format: date
                      description: Invoice Date
                    due_date:
                      type: string
                      format: date
                      description: Due Date
                    posting_date:
                      type: string
                      format: date
                      description: Posting Date - Read Only
                      readOnly: true
                    description:
                      type: string
                      description: Description
                      maxLength: 80
                    ap_gl_account:
                      type: string
                      description: AP GL Account
                      readOnly: true
                    ap_gl_account_id:
                      type: integer
                      description: AP GL Account ID
                    ap_gl_cost_center:
                      type: integer
                      description: AP GL Cost Center - Read Only
                      readOnly: true
                    gross_amount:
                      type: number
                      description: Gross Amount - Read Only
                      readOnly: true
                    as_posted_amount:
                      type: number
                      description: As Posted Amount - Read Only
                      readOnly: true
                    net_amount_paid:
                      type: number
                      description: Net Amount Paid - Read Only
                      readOnly: true
                    unpaid_amount:
                      type: number
                      description: Unpaid Amount
                      readOnly: true
                    fiscal_year:
                      type: integer
                      description: Fiscal Year - Read Only
                      readOnly: true
                    fiscal_period:
                      type: integer
                      description: Fiscal Period - Read Only
                      readOnly: true
                    approval_person:
                      type: string
                      description: |-
                        Approval Person

                        Person who must approve this expense prior to its posting and payment
                      readOnly: true
                    approval_person_id:
                      type: integer
                      description: Approval Person ID
                    do_not_pay:
                      type: boolean
                      description: Do Not Pay?
                    last_modified_date:
                      type: string
                      format: date
                      description: Last Modified Date
                      readOnly: true
                    tax_type:
                      type: string
                      description: Tax Type ID for AP Invoices
                      readOnly: true
                    inclusive_exclusive:
                      type: string
                      description: Inclusive/Exclusive for AP Invoices
                      readOnly: true
                    total_tax:
                      type: number
                      description: Total Tax
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.ap_invoices:update'
  /finance/gl_accounts/:
    get:
      tags:
        - 'Finance: GL Accounts'
      summary: 'List Finance: GL Accounts'
      operationId: list_finance_gl_accounts
      parameters:
        - name: posting_prohibited
          in: query
          description: Posting Prohibited?
          required: false
          schema:
            type: boolean
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        gl_account_id:
                          type: integer
                          description: GL Account Key
                          readOnly: true
                        gl_number:
                          type: string
                          description: GL Number
                          maxLength: 15
                        gl_account_name:
                          type: string
                          description: GL Account Name
                          maxLength: 200
                        gl_account_full_name:
                          type: string
                          description: GL Account
                          readOnly: true
                        gl_fund:
                          type: string
                          description: GL Fund
                          readOnly: true
                        gl_fund_id:
                          type: integer
                          description: GL Fund ID
                        gl_base_account_id:
                          type: integer
                          description: |-
                            GL Base Acct #

                            GL Base Account presented as a pure integer value
                        gl_base_account:
                          type: string
                          description: GL Base Name
                          maxLength: 80
                        gl_cost_center:
                          type: integer
                          description: GL CC
                        gl_sub_account:
                          type: integer
                          description: GL Sub-Account
                        account_type_2:
                          type: integer
                          description: |-
                            Account Type 2

                            Secondary classification code for grouping common accounts.
                        account_type:
                          type: integer
                          description: |-
                            Account Type

                            Classification code for grouping common accounts
                        account_type_3:
                          type: integer
                          description: |-
                            Account Type 3

                            Classification code for grouping common accounts.
                        current_fiscal_year:
                          type: integer
                          description: Current Fiscal Year
                          readOnly: true
                        accounting_period:
                          type: integer
                          description: Accounting Period
                          readOnly: true
                        ytd_budget_num_1:
                          type: number
                          description: |-
                            YTD Budget #1

                            Sum of the period budgets on a year-to-date basis for Budget #1.
                          readOnly: true
                        annual_budget_num_1:
                          type: number
                          description: |-
                            Annual Budget #1

                            Sum of period budgets for a complete Fiscal Year for Budget #1.
                          readOnly: true
                        budget_remaining:
                          type: number
                          description: |-
                            Budget Remaining

                            Annual Budget #1 less Current Encumbered Amount (YTD posted + PO Open Commit)
                          readOnly: true
                        posting_type:
                          type: integer
                          description: Posting Type
                        posting_prohibited:
                          type: boolean
                          description: Posting Prohibited?
                        billing_subledger:
                          type: boolean
                          description: Billing Subledger
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - gl_account_id
                        - gl_number
                        - gl_account_name
                        - gl_account_full_name
                        - gl_fund
                        - gl_fund_id
                        - gl_base_account_id
                        - gl_base_account
                        - gl_cost_center
                        - gl_sub_account
                        - account_type_2
                        - account_type
                        - account_type_3
                        - current_fiscal_year
                        - accounting_period
                        - ytd_budget_num_1
                        - annual_budget_num_1
                        - budget_remaining
                        - posting_type
                        - posting_prohibited
                        - billing_subledger
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - gl_cost_center
                              - gl_sub_account
                              - account_type_2
                              - account_type
                              - account_type_3
                              - current_fiscal_year
                              - accounting_period
                              - posting_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.gl_accounts:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/finance/gl_accounts/{id}':
    get:
      tags:
        - 'Finance: GL Accounts'
      summary: 'Read Finance: GL Accounts'
      operationId: read_finance_gl_accounts
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      gl_account_id:
                        type: integer
                        description: GL Account Key
                        readOnly: true
                      gl_number:
                        type: string
                        description: GL Number
                        maxLength: 15
                      gl_account_name:
                        type: string
                        description: GL Account Name
                        maxLength: 200
                      gl_account_full_name:
                        type: string
                        description: GL Account
                        readOnly: true
                      gl_fund:
                        type: string
                        description: GL Fund
                        readOnly: true
                      gl_fund_id:
                        type: integer
                        description: GL Fund ID
                      gl_base_account_id:
                        type: integer
                        description: |-
                          GL Base Acct #

                          GL Base Account presented as a pure integer value
                      gl_base_account:
                        type: string
                        description: GL Base Name
                        maxLength: 80
                      gl_cost_center:
                        type: integer
                        description: GL CC
                      gl_sub_account:
                        type: integer
                        description: GL Sub-Account
                      account_type_2:
                        type: integer
                        description: |-
                          Account Type 2

                          Secondary classification code for grouping common accounts.
                      account_type:
                        type: integer
                        description: |-
                          Account Type

                          Classification code for grouping common accounts
                      account_type_3:
                        type: integer
                        description: |-
                          Account Type 3

                          Classification code for grouping common accounts.
                      current_fiscal_year:
                        type: integer
                        description: Current Fiscal Year
                        readOnly: true
                      accounting_period:
                        type: integer
                        description: Accounting Period
                        readOnly: true
                      ytd_budget_num_1:
                        type: number
                        description: |-
                          YTD Budget #1

                          Sum of the period budgets on a year-to-date basis for Budget #1.
                        readOnly: true
                      annual_budget_num_1:
                        type: number
                        description: |-
                          Annual Budget #1

                          Sum of period budgets for a complete Fiscal Year for Budget #1.
                        readOnly: true
                      budget_remaining:
                        type: number
                        description: |-
                          Budget Remaining

                          Annual Budget #1 less Current Encumbered Amount (YTD posted + PO Open Commit)
                        readOnly: true
                      posting_type:
                        type: integer
                        description: Posting Type
                      posting_prohibited:
                        type: boolean
                        description: Posting Prohibited?
                      billing_subledger:
                        type: boolean
                        description: Billing Subledger
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - gl_account_id
                      - gl_number
                      - gl_account_name
                      - gl_account_full_name
                      - gl_fund
                      - gl_fund_id
                      - gl_base_account_id
                      - gl_base_account
                      - gl_cost_center
                      - gl_sub_account
                      - account_type_2
                      - account_type
                      - account_type_3
                      - current_fiscal_year
                      - accounting_period
                      - ytd_budget_num_1
                      - annual_budget_num_1
                      - budget_remaining
                      - posting_type
                      - posting_prohibited
                      - billing_subledger
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - gl_cost_center
                              - gl_sub_account
                              - account_type_2
                              - account_type
                              - account_type_3
                              - current_fiscal_year
                              - accounting_period
                              - posting_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.gl_accounts:read'
    parameters:
      - name: id
        in: path
        description: GL Account Key
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/finance/post_ap_invoices/{id}':
    patch:
      tags:
        - 'Finance: Post AP Invoices'
      summary: 'Update Finance: Post AP Invoices'
      operationId: update_finance_post_ap_invoices
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: AP Invoice Header ID
                      readOnly: true
                    temp_posting_date:
                      type: string
                      format: date
                      description: Temp Posting Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.post_ap_invoices:update'
    parameters:
      - name: id
        in: path
        description: AP Invoice Header ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /finance/projects:
    get:
      tags:
        - 'Finance: Projects'
      summary: 'List Finance: Projects'
      operationId: list_finance_projects
      parameters:
        - name: archived
          in: query
          required: false
          schema:
            type: string
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        project_id:
                          type: integer
                          description: Project Key
                          readOnly: true
                        project_task_id:
                          type: string
                          description: 'Project-Task #'
                          maxLength: 20
                        project_name:
                          type: string
                          description: Project Name
                          maxLength: 100
                        project_type:
                          type: integer
                          description: Project Type
                        project_manager:
                          type: string
                          description: Project Manager
                          readOnly: true
                        start_date:
                          type: string
                          format: date
                          description: Start Date
                        memo:
                          type: string
                          description: Memo
                          maxLength: 1000
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - project_id
                        - project_task_id
                        - project_name
                        - project_type
                        - project_manager
                        - start_date
                        - memo
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - project_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.projects:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/finance/projects/{id}':
    get:
      tags:
        - 'Finance: Projects'
      summary: 'Read Finance: Projects'
      operationId: read_finance_projects
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      project_id:
                        type: integer
                        description: Project Key
                        readOnly: true
                      project_task_id:
                        type: string
                        description: 'Project-Task #'
                        maxLength: 20
                      project_name:
                        type: string
                        description: Project Name
                        maxLength: 100
                      project_type:
                        type: integer
                        description: Project Type
                      project_manager:
                        type: string
                        description: Project Manager
                        readOnly: true
                      start_date:
                        type: string
                        format: date
                        description: Start Date
                      memo:
                        type: string
                        description: Memo
                        maxLength: 1000
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - project_id
                      - project_task_id
                      - project_name
                      - project_type
                      - project_manager
                      - start_date
                      - memo
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - project_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.projects:read'
    parameters:
      - name: id
        in: path
        description: Project Key
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /finance/purchase_request_workflows:
    get:
      tags:
        - 'Finance: Purchase Request Workflow'
      summary: 'List Finance: Purchase Request Workflow'
      operationId: list_finance_purchase_request_workflow
      parameters:
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        purchase_request_workflow_id:
                          type: integer
                          description: Purchase Request Workflow ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 100
                        cost_center:
                          type: integer
                          description: Cost Center
                        notes:
                          type: string
                          description: Notes
                          maxLength: 500
                        input_date:
                          type: string
                          format: date-time
                          description: Input Date
                        input_user:
                          type: string
                          description: Input User
                          maxLength: 128
                        update_date:
                          type: string
                          format: date-time
                          description: Update Date
                        update_user:
                          type: string
                          description: Update User
                          maxLength: 128
                      required:
                        - purchase_request_workflow_id
                        - description
                        - cost_center
                        - notes
                        - input_date
                        - input_user
                        - update_date
                        - update_user
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - cost_center
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.purchase_request_workflows:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/finance/purchase_request_workflows/{id}':
    get:
      tags:
        - 'Finance: Purchase Request Workflow'
      summary: 'Read Finance: Purchase Request Workflow'
      operationId: read_finance_purchase_request_workflow
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      purchase_request_workflow_id:
                        type: integer
                        description: Purchase Request Workflow ID
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 100
                      cost_center:
                        type: integer
                        description: Cost Center
                      notes:
                        type: string
                        description: Notes
                        maxLength: 500
                      input_date:
                        type: string
                        format: date-time
                        description: Input Date
                      input_user:
                        type: string
                        description: Input User
                        maxLength: 128
                      update_date:
                        type: string
                        format: date-time
                        description: Update Date
                      update_user:
                        type: string
                        description: Update User
                        maxLength: 128
                    required:
                      - purchase_request_workflow_id
                      - description
                      - cost_center
                      - notes
                      - input_date
                      - input_user
                      - update_date
                      - update_user
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - cost_center
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.purchase_request_workflows:read'
    parameters:
      - name: id
        in: path
        description: Purchase Request Workflow ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /finance/purchase_request_workflow_gl_accounts:
    get:
      tags:
        - 'Finance: Purchase Request Workflow GL Accounts'
      summary: 'List Finance: Purchase Request Workflow GL Accounts'
      operationId: list_finance_purchase_request_workflow_gl_accounts
      parameters:
        - name: purchase_request_workflow_id
          in: query
          description: Purchase Request Workflow ID
          required: false
          schema:
            type: integer
        - name: gl_account_id
          in: query
          description: GL Account ID
          required: false
          schema:
            type: integer
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        purchase_request_workflow:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Purchase Request Workflow ID
                            description:
                              type: string
                              description: Description
                              maxLength: 100
                          required:
                            - id
                            - description
                        gl_account:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: GL Account ID
                            gl_account_name:
                              type: string
                              description: GL Account
                              readOnly: true
                          required:
                            - id
                            - gl_account_name
                        person:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Person ID
                            full_name:
                              type: string
                              description: |-
                                Full Name

                                The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                              readOnly: true
                          required:
                            - id
                            - full_name
                      required:
                        - purchase_request_workflow
                        - gl_account
                        - person
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.purchase_request_workflow_gl_accounts:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  /finance/tax_types:
    get:
      tags:
        - 'Finance: Tax Types'
      summary: 'List Finance: Tax Types'
      operationId: list_finance_tax_types
      parameters:
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 250
                        tax_category:
                          type: integer
                          description: Tax Category
                        tax_percent:
                          type: number
                          description: Tax Percent
                        inclusive_exclusive:
                          type: integer
                          description: |-
                            Inclusive/Exclusive

                            Inclusive: Amount already has taxes. Exclusive: Taxes will be added to the amount.
                        gl_account:
                          type: string
                          description: GL Account
                          readOnly: true
                        sort_key:
                          type: integer
                          description: Sort Key
                      required:
                        - id
                        - description
                        - tax_category
                        - tax_percent
                        - inclusive_exclusive
                        - gl_account
                        - sort_key
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - tax_category
                              - inclusive_exclusive
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.tax_types:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/finance/tax_types/{id}':
    get:
      tags:
        - 'Finance: Tax Types'
      summary: 'Read Finance: Tax Types'
      operationId: read_finance_tax_types
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ID
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 250
                      tax_category:
                        type: integer
                        description: Tax Category
                      tax_percent:
                        type: number
                        description: Tax Percent
                      inclusive_exclusive:
                        type: integer
                        description: |-
                          Inclusive/Exclusive

                          Inclusive: Amount already has taxes. Exclusive: Taxes will be added to the amount.
                      gl_account:
                        type: string
                        description: GL Account
                        readOnly: true
                      sort_key:
                        type: integer
                        description: Sort Key
                    required:
                      - id
                      - description
                      - tax_category
                      - tax_percent
                      - inclusive_exclusive
                      - gl_account
                      - sort_key
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - tax_category
                              - inclusive_exclusive
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.tax_types:read'
    parameters:
      - name: id
        in: path
        description: ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /finance/vendors:
    post:
      tags:
        - 'Finance: Vendors'
      summary: 'Create Finance: Vendors'
      operationId: create_finance_vendors
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    vendor_id:
                      type: integer
                      description: Vendor ID
                    vendor_name:
                      type: string
                      description: Vendor Name
                      maxLength: 200
                    address_1:
                      type: string
                      description: Address 1
                      maxLength: 200
                    address_2:
                      type: string
                      description: Address 2
                      maxLength: 200
                    address_3:
                      type: string
                      description: Address 3
                      maxLength: 200
                    city:
                      type: string
                      description: City
                      maxLength: 50
                    state_province:
                      type: string
                      description: State Province
                      maxLength: 50
                    postal_code:
                      type: string
                      description: Postal Code
                      maxLength: 20
                    country:
                      type: integer
                      description: Country
                    email:
                      type: string
                      description: Email
                      maxLength: 100
                    direct_deposit_account:
                      type: string
                      description: Direct Deposit Account
                      maxLength: 20
                    direct_deposit_bank:
                      type: string
                      description: Direct Deposit Bank
                      maxLength: 20
                    account_number:
                      type: string
                      description: Account Number
                      maxLength: 75
                    standard_days_to_pay:
                      type: integer
                      description: Standard Days To Pay
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
                    inactive:
                      type: boolean
                      description: Inactive
                    vendor_tax_info:
                      type: string
                      description: Vendor Tax Info
                      readOnly: true
                    federal_tax_id:
                      type: string
                      description: |-
                        Tax ID

                        Tax ID that is necessary for government reporting purposes.
                      maxLength: 20
                  required:
                    - vendor_id
                    - country
                    - inactive
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.vendors:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Finance: Vendors'
      summary: 'List Finance: Vendors'
      operationId: list_finance_vendors
      parameters:
        - name: inactive
          in: query
          description: Show inactive vendors?
          required: false
          schema:
            type: boolean
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        vendor_id:
                          type: integer
                          description: Vendor ID
                        vendor_name:
                          type: string
                          description: Vendor Name
                          maxLength: 200
                        address_1:
                          type: string
                          description: Address 1
                          maxLength: 200
                        address_2:
                          type: string
                          description: Address 2
                          maxLength: 200
                        address_3:
                          type: string
                          description: Address 3
                          maxLength: 200
                        city:
                          type: string
                          description: City
                          maxLength: 50
                        state_province:
                          type: string
                          description: State Province
                          maxLength: 50
                        postal_code:
                          type: string
                          description: Postal Code
                          maxLength: 20
                        country:
                          type: integer
                          description: Country
                        email:
                          type: string
                          description: Email
                          maxLength: 100
                        direct_deposit_account:
                          type: string
                          description: Direct Deposit Account
                          maxLength: 20
                        direct_deposit_bank:
                          type: string
                          description: Direct Deposit Bank
                          maxLength: 20
                        account_number:
                          type: string
                          description: Account Number
                          maxLength: 75
                        standard_days_to_pay:
                          type: integer
                          description: Standard Days To Pay
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                        inactive:
                          type: boolean
                          description: Inactive
                        vendor_tax_info:
                          type: string
                          description: Vendor Tax Info
                          readOnly: true
                        federal_tax_id:
                          type: string
                          description: |-
                            Tax ID

                            Tax ID that is necessary for government reporting purposes.
                          maxLength: 20
                      required:
                        - vendor_id
                        - vendor_name
                        - address_1
                        - address_2
                        - address_3
                        - city
                        - state_province
                        - postal_code
                        - country
                        - email
                        - direct_deposit_account
                        - direct_deposit_bank
                        - account_number
                        - standard_days_to_pay
                        - last_modified_date
                        - inactive
                        - vendor_tax_info
                        - federal_tax_id
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - country
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.vendors:list'
  '/finance/vendors/{id}':
    get:
      tags:
        - 'Finance: Vendors'
      summary: 'Read Finance: Vendors'
      operationId: read_finance_vendors
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      vendor_id:
                        type: integer
                        description: |-
                          Vendor ID

                          Organization ID
                      vendor_name:
                        type: string
                        description: Vendor Name
                        maxLength: 200
                      address_1:
                        type: string
                        description: Address 1
                        maxLength: 200
                      address_2:
                        type: string
                        description: Address 2
                        maxLength: 200
                      address_3:
                        type: string
                        description: Address 3
                        maxLength: 200
                      city:
                        type: string
                        description: City
                        maxLength: 50
                      state_province:
                        type: string
                        description: State/Province
                        maxLength: 50
                      postal_code:
                        type: string
                        description: Postal Code
                        maxLength: 20
                      country:
                        type: integer
                        description: Country
                      email:
                        type: string
                        description: |-
                          Email

                          A generic email for an organization
                        maxLength: 100
                      bank_account:
                        type: string
                        description: |-
                          Direct Deposit Account

                          Bank account number into which payments should be deposited.
                        maxLength: 20
                      routing_number:
                        type: string
                        description: |-
                          Direct Deposit Bank

                          Routing number for this vendor&#39;s bank
                        maxLength: 20
                      account_number:
                        type: string
                        description: Account Number
                        maxLength: 75
                      standard_days_to_pay:
                        type: integer
                        description: |-
                          Standard Days to Pay

                          Standard number of days to pay invoices.
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                      inactive:
                        type: boolean
                        description: |-
                          Inactive?

                          Is this vendor no longer active with our school?
                      vendor_tax_info:
                        type: string
                        description: Vendor Tax Info
                        readOnly: true
                      federal_tax_id:
                        type: string
                        description: |-
                          Federal Tax ID

                          Tax ID is necessary for vendors that require 1099&#39;s at year end.
                        maxLength: 20
                    required:
                      - vendor_id
                      - vendor_name
                      - address_1
                      - address_2
                      - address_3
                      - city
                      - state_province
                      - postal_code
                      - country
                      - email
                      - bank_account
                      - routing_number
                      - account_number
                      - standard_days_to_pay
                      - last_modified_date
                      - inactive
                      - vendor_tax_info
                      - federal_tax_id
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - country
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.vendors:read'
    parameters:
      - name: id
        in: path
        description: |-
          Vendor ID

          Organization ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Finance: Vendors'
      summary: 'Update Finance: Vendors'
      operationId: update_finance_vendors
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    vendor_id:
                      type: integer
                      description: |-
                        Vendor ID

                        Organization ID
                    vendor_name:
                      type: string
                      description: Vendor Name
                      maxLength: 200
                    address_1:
                      type: string
                      description: Address 1
                      maxLength: 200
                    address_2:
                      type: string
                      description: Address 2
                      maxLength: 200
                    address_3:
                      type: string
                      description: Address 3
                      maxLength: 200
                    city:
                      type: string
                      description: City
                      maxLength: 50
                    state_province:
                      type: string
                      description: State/Province
                      maxLength: 50
                    postal_code:
                      type: string
                      description: Postal Code
                      maxLength: 20
                    country:
                      type: integer
                      description: Country
                    email:
                      type: string
                      description: |-
                        Email

                        A generic email for an organization
                      maxLength: 100
                    bank_account:
                      type: string
                      description: |-
                        Direct Deposit Account

                        Bank account number into which payments should be deposited.
                      maxLength: 20
                    routing_number:
                      type: string
                      description: |-
                        Direct Deposit Bank

                        Routing number for this vendor&#39;s bank
                      maxLength: 20
                    account_number:
                      type: string
                      description: Account Number
                      maxLength: 75
                    standard_days_to_pay:
                      type: integer
                      description: |-
                        Standard Days to Pay

                        Standard number of days to pay invoices.
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
                    inactive:
                      type: boolean
                      description: |-
                        Inactive?

                        Is this vendor no longer active with our school?
                    vendor_tax_info:
                      type: string
                      description: Vendor Tax Info
                      readOnly: true
                    federal_tax_id:
                      type: string
                      description: |-
                        Federal Tax ID

                        Tax ID is necessary for vendors that require 1099&#39;s at year end.
                      maxLength: 20
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'finance.vendors:update'
  /health/all_patients/conditions:
    get:
      tags:
        - 'Health: All Patients Conditions'
      summary: 'List Health: All Patients Conditions'
      description: 'This endpoint can return all patient condition records in one call, but can be filtered by patient ID, patient role, and/or data modified parameters.'
      operationId: list_health_all_patients_conditions
      parameters:
        - name: patient_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: patient_role
          in: query
          description: Role
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Medical History ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 50
                        patient_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        patient_name:
                          type: string
                          description: |-
                            Full Name

                            The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                          readOnly: true
                        condition_code:
                          type: integer
                          description: Condition Code
                        intervention_code:
                          type: integer
                          description: Intervention Code
                        begin_date:
                          type: string
                          format: date-time
                          description: Begin Date
                        end_date:
                          type: string
                          format: date-time
                          description: End Date
                        notes:
                          type: string
                          description: Notes
                          maxLength: 2000
                        critical:
                          type: boolean
                          description: Critical
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - description
                        - patient_id
                        - patient_name
                        - condition_code
                        - intervention_code
                        - begin_date
                        - end_date
                        - notes
                        - critical
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - condition_code
                              - intervention_code
                              - patient_role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'health.all_patients.conditions:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/health/patients/{patient_id}/conditions':
    get:
      tags:
        - 'Health: Patient Conditions'
      summary: 'List Health: Patient Conditions'
      operationId: list_health_patient_conditions
      parameters:
        - name: critical
          in: query
          description: Critical
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Medical History ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 50
                        patient_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        patient_name:
                          type: string
                          description: |-
                            Full Name

                            The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                          readOnly: true
                        condition_code:
                          type: integer
                          description: Condition Code
                        intervention_code:
                          type: integer
                          description: Intervention Code
                        begin_date:
                          type: string
                          format: date-time
                          description: Begin Date
                        end_date:
                          type: string
                          format: date-time
                          description: End Date
                        notes:
                          type: string
                          description: Notes
                          maxLength: 2000
                        critical:
                          type: boolean
                          description: Critical
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - description
                        - patient_id
                        - patient_name
                        - condition_code
                        - intervention_code
                        - begin_date
                        - end_date
                        - notes
                        - critical
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - condition_code
                              - intervention_code
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'health.patients.conditions:list'
    parameters:
      - name: patient_id
        in: path
        description: Patient
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/api_revision'
    post:
      tags:
        - 'Health: Patient Conditions'
      summary: 'Create Health: Patient Conditions'
      operationId: create_health_patient_conditions
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Medical History ID
                      readOnly: true
                    description:
                      type: string
                      description: Description
                      maxLength: 50
                    patient_id:
                      type: string
                      description: Patient
                      readOnly: true
                    condition_code:
                      type: integer
                      description: Condition Code
                    new_condition_code_description:
                      type: string
                      description: |-
                        Condition Code Description

                        When present during update, creates a new condition code with the specified description.
                      maxLength: 50
                    intervention_code:
                      type: integer
                      description: Intervention Code
                    new_intervention_code_description:
                      type: string
                      description: |-
                        Intervention Code Description

                        When present during update, creates a new intervention code with the specified description.
                      maxLength: 50
                    begin_date:
                      type: string
                      format: date-time
                      description: Begin Date
                    end_date:
                      type: string
                      format: date-time
                      description: End Date
                    notes:
                      type: string
                      description: Notes
                      maxLength: 2000
                    critical:
                      type: boolean
                      description: Critical
                  required:
                    - description
                    - condition_code
                    - new_condition_code_description
                    - intervention_code
                    - new_intervention_code_description
                    - critical
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'health.patients.conditions:create'
  '/health/patients/{patient_id}/conditions/{id}':
    get:
      tags:
        - 'Health: Patient Conditions'
      summary: 'Read Health: Patient Conditions'
      operationId: read_health_patient_conditions
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Medical History ID
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 50
                      patient_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      patient_name:
                        type: string
                        description: |-
                          Full Name

                          The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                        readOnly: true
                      condition_code:
                        type: integer
                        description: Condition Code
                      intervention_code:
                        type: integer
                        description: Intervention Code
                      begin_date:
                        type: string
                        format: date-time
                        description: Begin Date
                      end_date:
                        type: string
                        format: date-time
                        description: End Date
                      notes:
                        type: string
                        description: Notes
                        maxLength: 2000
                      critical:
                        type: boolean
                        description: Critical
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - description
                      - patient_id
                      - patient_name
                      - condition_code
                      - intervention_code
                      - begin_date
                      - end_date
                      - notes
                      - critical
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - condition_code
                              - intervention_code
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'health.patients.conditions:read'
    parameters:
      - name: id
        in: path
        description: Medical History ID
        required: true
        schema:
          type: integer
      - name: patient_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Health: Patient Conditions'
      summary: 'Update Health: Patient Conditions'
      operationId: update_health_patient_conditions
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Medical History ID
                      readOnly: true
                    description:
                      type: string
                      description: Description
                      maxLength: 50
                    patient_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    patient_name:
                      type: string
                      description: |-
                        Full Name

                        The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                      readOnly: true
                    condition_code:
                      type: integer
                      description: Condition Code
                    intervention_code:
                      type: integer
                      description: Intervention Code
                    begin_date:
                      type: string
                      format: date-time
                      description: Begin Date
                    end_date:
                      type: string
                      format: date-time
                      description: End Date
                    notes:
                      type: string
                      description: Notes
                      maxLength: 2000
                    critical:
                      type: boolean
                      description: Critical
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'health.patients.conditions:update'
  '/health/patients/{patient_id}/medications':
    post:
      tags:
        - 'Health: Patient Medications'
      summary: 'Create Health: Patient Medications'
      operationId: create_health_patient_medications
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: |-
                        Person/Medication ID

                        The internal Veracross ID number for this record with information on a specific information for a particular person.
                      readOnly: true
                    patient_id:
                      type: integer
                      description: Patient ID
                    medication:
                      type: integer
                      description: Medication GKC
                    start_date:
                      type: string
                      format: date
                      description: Start Date
                    end_date:
                      type: string
                      format: date
                      description: End Date
                    dosage_instruction:
                      type: string
                      description: Dosage Instruction
                      maxLength: 2000
                    notes:
                      type: string
                      description: Notes
                      maxLength: 2000
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
                  required:
                    - medication
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'health.patients.medications:create'
    parameters:
      - name: patient_id
        in: path
        description: Patient ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Health: Patient Medications'
      summary: 'List Health: Patient Medications'
      operationId: list_health_patient_medications
      parameters:
        - name: medication
          in: query
          description: Medication GKC
          required: false
          schema:
            type: integer
        - name: on_or_before_start_date
          in: query
          description: Start Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_start_date
          in: query
          description: Start Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_end_date
          in: query
          description: End Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_end_date
          in: query
          description: End Date
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: |-
                            Person/Medication ID

                            The internal Veracross ID number for this record with information on a specific information for a particular person.
                          readOnly: true
                        patient_id:
                          type: integer
                          description: Patient ID
                        medication:
                          type: integer
                          description: Medication GKC
                        start_date:
                          type: string
                          format: date
                          description: Start Date
                        end_date:
                          type: string
                          format: date
                          description: End Date
                        dosage_instruction:
                          type: string
                          description: Dosage Instruction
                          maxLength: 2000
                        notes:
                          type: string
                          description: Notes
                          maxLength: 2000
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - patient_id
                        - medication
                        - start_date
                        - end_date
                        - dosage_instruction
                        - notes
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - medication
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'health.patients.medications:list'
  '/health/patients/{patient_id}/medications/{id}':
    get:
      tags:
        - 'Health: Patient Medications'
      summary: 'Read Health: Patient Medications'
      operationId: read_health_patient_medications
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: |-
                          Person/Medication ID

                          The internal Veracross ID number for this record with information on a specific information for a particular person.
                        readOnly: true
                      patient_id:
                        type: integer
                        description: Patient ID
                      medication:
                        type: integer
                        description: Medication GKC
                      start_date:
                        type: string
                        format: date
                        description: Start Date
                      end_date:
                        type: string
                        format: date
                        description: End Date
                      dosage_instruction:
                        type: string
                        description: Dosage Instruction
                        maxLength: 2000
                      notes:
                        type: string
                        description: Notes
                        maxLength: 2000
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - patient_id
                      - medication
                      - start_date
                      - end_date
                      - dosage_instruction
                      - notes
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - medication
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'health.patients.medications:read'
    parameters:
      - name: id
        in: path
        description: |-
          Person/Medication ID

          The internal Veracross ID number for this record with information on a specific information for a particular person.
        required: true
        schema:
          type: integer
      - name: patient_id
        in: path
        description: Patient ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Health: Patient Medications'
      summary: 'Update Health: Patient Medications'
      operationId: update_health_patient_medications
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: |-
                        Person/Medication ID

                        The internal Veracross ID number for this record with information on a specific information for a particular person.
                      readOnly: true
                    patient_id:
                      type: integer
                      description: Patient ID
                    medication:
                      type: integer
                      description: Medication GKC
                    start_date:
                      type: string
                      format: date
                      description: Start Date
                    end_date:
                      type: string
                      format: date
                      description: End Date
                    dosage_instruction:
                      type: string
                      description: Dosage Instruction
                      maxLength: 2000
                    notes:
                      type: string
                      description: Notes
                      maxLength: 2000
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'health.patients.medications:update'
  /health/patients:
    get:
      tags:
        - 'Health: Patients'
      summary: 'List Health: Patients'
      operationId: list_health_patients
      parameters:
        - name: name
          in: query
          description: |-
            Name Search

            Use this field for searching by name.  Search will look at all name components: first name, middle name, last name, preferred name, maiden-name and spouse
          required: false
          schema:
            type: string
        - name: role
          in: query
          description: Role
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        first_name:
                          type: string
                          description: First Name - Read Only
                          readOnly: true
                          maxLength: 50
                        preferred_name:
                          type: string
                          description: Nick Name - Read Only
                          readOnly: true
                          maxLength: 50
                        middle_name:
                          type: string
                          description: Middle Name - Read Only
                          readOnly: true
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name - Read Only
                          readOnly: true
                          maxLength: 50
                        date_of_birth:
                          type: string
                          format: date
                          description: |-
                            Birthday

                            Birthday in MMM DD YYYY format
                        blood_type:
                          type: integer
                          description: Blood Type
                        height:
                          type: string
                          description: Height
                          maxLength: 10
                        weight:
                          type: string
                          description: Weight
                          maxLength: 10
                        gender:
                          type: integer
                          description: Gender - Read Only
                          readOnly: true
                        pronouns:
                          type: integer
                          description: |-
                            Pronouns (Calculated)

                            Calculated based on the override pronoun set on this person, or else the pronouns used by their gender selection.
                          readOnly: true
                        medical_id_number:
                          type: string
                          description: Medical ID Number
                          maxLength: 100
                        health_insurer:
                          type: string
                          description: Insurer
                          maxLength: 100
                        health_group_number:
                          type: string
                          description: |-
                            Group #

                            For medical insurance
                          maxLength: 100
                        health_subscriber_number:
                          type: string
                          description: |-
                            Subscriber #

                            For medical insurance
                          maxLength: 100
                        dental_insurer:
                          type: string
                          description: Dental Insurer
                          maxLength: 50
                        dental_group_number:
                          type: string
                          description: 'Dental Group #'
                          maxLength: 20
                        dental_subscriber_number:
                          type: string
                          description: 'Dental Subscriber #'
                          maxLength: 20
                        allergies_symptoms:
                          type: string
                          description: |-
                            Allergies/Symptoms (Memo)

                            Can be seen by most staff and in teacher portal.
                          maxLength: 5000
                        current_medications:
                          type: string
                          description: |-
                            Current Medications (Memo)

                            Can be seen by most staff and in teacher portal.
                          maxLength: 5000
                        medications_allowed:
                          type: string
                          description: |-
                            Medications Allowed

                            See the &quot;Medications Allowed&quot; screen to add/remove medications. Can be seen by most staff and in teacher portal.
                          readOnly: true
                        general_medical_notes:
                          type: string
                          description: General Medical Notes
                          maxLength: 5000
                        roles:
                          type: string
                          description: |-
                            Roles

                            A list of all roles specified for this person.  Roles define this person&#39;s relationship to the school.  Can include &quot;virtual&quot; roles such as &quot;Relative of Alum&quot;.
                          readOnly: true
                        last_modified_date:
                          type: string
                          format: date
                          description: |-
                            Medical Info Update Date

                            The most recent date of update to data in the Person_Med overflow table (containing person-level data).
                      required:
                        - id
                        - first_name
                        - preferred_name
                        - middle_name
                        - last_name
                        - date_of_birth
                        - blood_type
                        - height
                        - weight
                        - gender
                        - pronouns
                        - medical_id_number
                        - health_insurer
                        - health_group_number
                        - health_subscriber_number
                        - dental_insurer
                        - dental_group_number
                        - dental_subscriber_number
                        - allergies_symptoms
                        - current_medications
                        - medications_allowed
                        - general_medical_notes
                        - roles
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - blood_type
                              - gender
                              - pronouns
                              - role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'health.patients:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/health/patients/{id}':
    get:
      tags:
        - 'Health: Patients'
      summary: 'Read Health: Patients'
      operationId: read_health_patients
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      first_name:
                        type: string
                        description: First Name - Read Only
                        readOnly: true
                        maxLength: 50
                      preferred_name:
                        type: string
                        description: Nick Name - Read Only
                        readOnly: true
                        maxLength: 50
                      middle_name:
                        type: string
                        description: Middle Name - Read Only
                        readOnly: true
                        maxLength: 50
                      last_name:
                        type: string
                        description: Last Name - Read Only
                        readOnly: true
                        maxLength: 50
                      date_of_birth:
                        type: string
                        format: date
                        description: |-
                          Birthday

                          Birthday in MMM DD YYYY format
                      blood_type:
                        type: integer
                        description: Blood Type
                      height:
                        type: string
                        description: Height
                        maxLength: 10
                      weight:
                        type: string
                        description: Weight
                        maxLength: 10
                      gender:
                        type: integer
                        description: Gender - Read Only
                        readOnly: true
                      pronouns:
                        type: integer
                        description: |-
                          Pronouns (Calculated)

                          Calculated based on the override pronoun set on this person, or else the pronouns used by their gender selection.
                        readOnly: true
                      medical_id_number:
                        type: string
                        description: Medical ID Number
                        maxLength: 100
                      health_insurer:
                        type: string
                        description: Insurer
                        maxLength: 100
                      health_group_number:
                        type: string
                        description: |-
                          Group #

                          For medical insurance
                        maxLength: 100
                      health_subscriber_number:
                        type: string
                        description: |-
                          Subscriber #

                          For medical insurance
                        maxLength: 100
                      dental_insurer:
                        type: string
                        description: Dental Insurer
                        maxLength: 50
                      dental_group_number:
                        type: string
                        description: 'Dental Group #'
                        maxLength: 20
                      dental_subscriber_number:
                        type: string
                        description: 'Dental Subscriber #'
                        maxLength: 20
                      allergies_symptoms:
                        type: string
                        description: |-
                          Allergies/Symptoms (Memo)

                          Can be seen by most staff and in teacher portal.
                        maxLength: 5000
                      current_medications:
                        type: string
                        description: |-
                          Current Medications (Memo)

                          Can be seen by most staff and in teacher portal.
                        maxLength: 5000
                      medications_allowed:
                        type: string
                        description: |-
                          Medications Allowed

                          See the &quot;Medications Allowed&quot; screen to add/remove medications. Can be seen by most staff and in teacher portal.
                        readOnly: true
                      general_medical_notes:
                        type: string
                        description: General Medical Notes
                        maxLength: 5000
                      roles:
                        type: string
                        description: |-
                          Roles

                          A list of all roles specified for this person.  Roles define this person&#39;s relationship to the school.  Can include &quot;virtual&quot; roles such as &quot;Relative of Alum&quot;.
                        readOnly: true
                      last_modified_date:
                        type: string
                        format: date
                        description: |-
                          Medical Info Update Date

                          The most recent date of update to data in the Person_Med overflow table (containing person-level data).
                    required:
                      - id
                      - first_name
                      - preferred_name
                      - middle_name
                      - last_name
                      - date_of_birth
                      - blood_type
                      - height
                      - weight
                      - gender
                      - pronouns
                      - medical_id_number
                      - health_insurer
                      - health_group_number
                      - health_subscriber_number
                      - dental_insurer
                      - dental_group_number
                      - dental_subscriber_number
                      - allergies_symptoms
                      - current_medications
                      - medications_allowed
                      - general_medical_notes
                      - roles
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - blood_type
                              - gender
                              - pronouns
                              - role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'health.patients:read'
    parameters:
      - name: id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Health: Patients'
      summary: 'Update Health: Patients'
      operationId: update_health_patients
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    first_name:
                      type: string
                      description: First Name - Read Only
                      readOnly: true
                      maxLength: 50
                    preferred_name:
                      type: string
                      description: Nick Name - Read Only
                      readOnly: true
                      maxLength: 50
                    middle_name:
                      type: string
                      description: Middle Name - Read Only
                      readOnly: true
                      maxLength: 50
                    last_name:
                      type: string
                      description: Last Name - Read Only
                      readOnly: true
                      maxLength: 50
                    date_of_birth:
                      type: string
                      format: date
                      description: |-
                        Birthday

                        Birthday in MMM DD YYYY format
                    blood_type:
                      type: integer
                      description: Blood Type
                    height:
                      type: string
                      description: Height
                      maxLength: 10
                    weight:
                      type: string
                      description: Weight
                      maxLength: 10
                    gender:
                      type: integer
                      description: Gender - Read Only
                      readOnly: true
                    pronouns:
                      type: integer
                      description: |-
                        Pronouns (Calculated)

                        Calculated based on the override pronoun set on this person, or else the pronouns used by their gender selection.
                      readOnly: true
                    medical_id_number:
                      type: string
                      description: Medical ID Number
                      maxLength: 100
                    health_insurer:
                      type: string
                      description: Insurer
                      maxLength: 100
                    health_group_number:
                      type: string
                      description: |-
                        Group #

                        For medical insurance
                      maxLength: 100
                    health_subscriber_number:
                      type: string
                      description: |-
                        Subscriber #

                        For medical insurance
                      maxLength: 100
                    dental_insurer:
                      type: string
                      description: Dental Insurer
                      maxLength: 50
                    dental_group_number:
                      type: string
                      description: 'Dental Group #'
                      maxLength: 20
                    dental_subscriber_number:
                      type: string
                      description: 'Dental Subscriber #'
                      maxLength: 20
                    allergies_symptoms:
                      type: string
                      description: |-
                        Allergies/Symptoms (Memo)

                        Can be seen by most staff and in teacher portal.
                      maxLength: 5000
                    current_medications:
                      type: string
                      description: |-
                        Current Medications (Memo)

                        Can be seen by most staff and in teacher portal.
                      maxLength: 5000
                    medications_allowed:
                      type: string
                      description: |-
                        Medications Allowed

                        See the &quot;Medications Allowed&quot; screen to add/remove medications. Can be seen by most staff and in teacher portal.
                      readOnly: true
                    general_medical_notes:
                      type: string
                      description: General Medical Notes
                      maxLength: 5000
                    roles:
                      type: string
                      description: |-
                        Roles

                        A list of all roles specified for this person.  Roles define this person&#39;s relationship to the school.  Can include &quot;virtual&quot; roles such as &quot;Relative of Alum&quot;.
                      readOnly: true
                    last_modified_date:
                      type: string
                      format: date
                      description: |-
                        Medical Info Update Date

                        The most recent date of update to data in the Person_Med overflow table (containing person-level data).
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'health.patients:update'
  /household_vehicles:
    get:
      tags:
        - Household Vehicles
      summary: List Household Vehicles
      operationId: list_household_vehicles
      parameters:
        - name: role
          in: query
          description: Role
          required: false
          schema:
            type: integer
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Household Vehicle ID
                          readOnly: true
                        household_id:
                          type: integer
                          description: Household ID
                        person_id:
                          type: integer
                          description: Person ID
                        model_year:
                          type: integer
                          description: Model Year
                        make:
                          type: string
                          description: Make
                          maxLength: 20
                        model:
                          type: string
                          description: Model
                          maxLength: 25
                        color:
                          type: string
                          description: Color
                          maxLength: 20
                        license_plate_number:
                          type: string
                          description: License Plate Number
                          maxLength: 20
                        license_plate_state:
                          type: string
                          description: License Plate State
                          maxLength: 2
                        parking_permit_number:
                          type: string
                          description: Parking Permit Number
                          maxLength: 20
                        student_vehicle:
                          type: boolean
                          description: Student Vehicle
                        notes:
                          type: string
                          description: Notes (HH Vehicle)
                          maxLength: 500
                        last_modified_date:
                          type: string
                          format: date
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - household_id
                        - person_id
                        - model_year
                        - make
                        - model
                        - color
                        - license_plate_number
                        - license_plate_state
                        - parking_permit_number
                        - student_vehicle
                        - notes
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - household_member_role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'household_vehicles:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/household_vehicles/{id}':
    get:
      tags:
        - Household Vehicles
      summary: Read Household Vehicles
      operationId: read_household_vehicles
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Household Vehicle ID
                        readOnly: true
                      household_id:
                        type: integer
                        description: Household ID
                      person_id:
                        type: integer
                        description: Person ID
                      model_year:
                        type: integer
                        description: Model Year
                      make:
                        type: string
                        description: Make
                        maxLength: 20
                      model:
                        type: string
                        description: Model
                        maxLength: 25
                      color:
                        type: string
                        description: Color
                        maxLength: 20
                      license_plate_number:
                        type: string
                        description: License Plate Number
                        maxLength: 20
                      license_plate_state:
                        type: string
                        description: License Plate State
                        maxLength: 2
                      parking_permit_number:
                        type: string
                        description: Parking Permit Number
                        maxLength: 20
                      student_vehicle:
                        type: boolean
                        description: Student Vehicle
                      notes:
                        type: string
                        description: Notes (HH Vehicle)
                        maxLength: 500
                      last_modified_date:
                        type: string
                        format: date
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - household_id
                      - person_id
                      - model_year
                      - make
                      - model
                      - color
                      - license_plate_number
                      - license_plate_state
                      - parking_permit_number
                      - student_vehicle
                      - notes
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - household_member_role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'household_vehicles:read'
    parameters:
      - name: id
        in: path
        description: Household Vehicle ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /households:
    get:
      tags:
        - Households
      summary: List Households
      operationId: list_households
      parameters:
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Household ID
                          readOnly: true
                        name:
                          type: string
                          description: Name
                          maxLength: 50
                        address_line_1:
                          type: string
                          description: |-
                            Address 1

                            Household Address 1
                          readOnly: true
                        address_line_2:
                          type: string
                          description: |-
                            Address 2

                            Household Address 2
                          readOnly: true
                        address_line_3:
                          type: string
                          description: Address 3
                          readOnly: true
                        city:
                          type: string
                          description: City
                          readOnly: true
                        state_or_province:
                          type: string
                          description: State
                          readOnly: true
                        zip:
                          type: string
                          description: Postal Code
                          readOnly: true
                        country:
                          type: integer
                          description: Country
                          readOnly: true
                        phone:
                          type: string
                          description: |-
                            Phone

                            Will be copied to the household members&#39; Home Phone fields overnight if (a) the member is a student or (b) the member&#39;s Home Phone is not already populated.
                          readOnly: true
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                        active_address:
                          type: integer
                          description: |-
                            Active Address

                            Used to designate the address to be used for mailings to this household.
                        primary_address_line_1:
                          type: string
                          description: Address 1 A
                          maxLength: 200
                        primary_address_line_2:
                          type: string
                          description: Address 2 A
                          maxLength: 200
                        primary_address_line_3:
                          type: string
                          description: Address 3 A
                          maxLength: 200
                        primary_address_city:
                          type: string
                          description: City A
                          maxLength: 50
                        primary_address_state_or_province:
                          type: string
                          description: State A
                          maxLength: 50
                        primary_address_zip:
                          type: string
                          description: Postal Code A
                          maxLength: 20
                        primary_address_country:
                          type: integer
                          description: Country A
                        primary_address_phone:
                          type: string
                          description: |-
                            Phone

                            Will be copied to the household members&#39; Home Phone fields overnight if (a) the member is a student or (b) the member&#39;s Home Phone is not already populated.
                          maxLength: 30
                        secondary_address_1_line_1:
                          type: string
                          description: Address 1 B
                          maxLength: 200
                        secondary_address_1_line_2:
                          type: string
                          description: Address 2 B
                          maxLength: 200
                        secondary_address_1_line_3:
                          type: string
                          description: Address 3 B
                          maxLength: 200
                        secondary_address_1_city:
                          type: string
                          description: City B
                          maxLength: 50
                        secondary_address_1_state_or_province:
                          type: string
                          description: State B
                          maxLength: 50
                        secondary_address_1_zip:
                          type: string
                          description: Postal Code B
                          maxLength: 20
                        secondary_address_1_country:
                          type: integer
                          description: Country B
                        secondary_address_1_phone:
                          type: string
                          description: Phone B
                          maxLength: 30
                        secondary_address_2_line_1:
                          type: string
                          description: Address 1 C
                          maxLength: 200
                        secondary_address_2_line_2:
                          type: string
                          description: Address 2 C
                          maxLength: 200
                        secondary_address_2_line_3:
                          type: string
                          description: Address 3 C
                          maxLength: 200
                        secondary_address_2_city:
                          type: string
                          description: City C
                          maxLength: 50
                        secondary_address_2_state_or_province:
                          type: string
                          description: State C
                          maxLength: 50
                        secondary_address_2_zip:
                          type: string
                          description: Postal Code C
                          maxLength: 20
                        secondary_address_2_country:
                          type: integer
                          description: Country C
                        secondary_address_2_phone:
                          type: string
                          description: Phone C
                          maxLength: 30
                      required:
                        - id
                        - name
                        - address_line_1
                        - address_line_2
                        - address_line_3
                        - city
                        - state_or_province
                        - zip
                        - country
                        - phone
                        - last_modified_date
                        - active_address
                        - primary_address_line_1
                        - primary_address_line_2
                        - primary_address_line_3
                        - primary_address_city
                        - primary_address_state_or_province
                        - primary_address_zip
                        - primary_address_country
                        - primary_address_phone
                        - secondary_address_1_line_1
                        - secondary_address_1_line_2
                        - secondary_address_1_line_3
                        - secondary_address_1_city
                        - secondary_address_1_state_or_province
                        - secondary_address_1_zip
                        - secondary_address_1_country
                        - secondary_address_1_phone
                        - secondary_address_2_line_1
                        - secondary_address_2_line_2
                        - secondary_address_2_line_3
                        - secondary_address_2_city
                        - secondary_address_2_state_or_province
                        - secondary_address_2_zip
                        - secondary_address_2_country
                        - secondary_address_2_phone
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - country
                              - active_address
                              - primary_address_country
                              - secondary_address_1_country
                              - secondary_address_2_country
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'households:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    post:
      tags:
        - Households
      summary: Create Households
      operationId: create_households
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Name
                      maxLength: 50
                    primary_address_line_1:
                      type: string
                      description: Address 1 A
                      maxLength: 200
                    primary_address_line_2:
                      type: string
                      description: Address 2 A
                      maxLength: 200
                    primary_address_line_3:
                      type: string
                      description: Address 3 A
                      maxLength: 200
                    primary_city:
                      type: string
                      description: City A
                      maxLength: 50
                    primary_state_or_province:
                      type: string
                      description: State A
                      maxLength: 50
                    primary_zip:
                      type: string
                      description: Postal Code A
                      maxLength: 20
                    primary_country:
                      type: integer
                      description: Country A
                    primary_phone:
                      type: string
                      description: |-
                        Phone

                        Will be copied to the household members&#39; Home Phone fields overnight if (a) the member is a student or (b) the member&#39;s Home Phone is not already populated.
                      maxLength: 30
                    secondary_address_1_line_1:
                      type: string
                      description: Address 1 B
                      maxLength: 200
                    secondary_address_1_line_2:
                      type: string
                      description: Address 2 B
                      maxLength: 200
                    secondary_address_1_line_3:
                      type: string
                      description: Address 3 B
                      maxLength: 200
                    secondary_address_1_city:
                      type: string
                      description: City B
                      maxLength: 50
                    secondary_address_1_state_or_province:
                      type: string
                      description: State B
                      maxLength: 50
                    secondary_address_1_zip:
                      type: string
                      description: Postal Code B
                      maxLength: 20
                    secondary_address_1_country:
                      type: integer
                      description: Country B
                    secondary_address_1_phone:
                      type: string
                      description: Phone B
                      maxLength: 30
                    secondary_address_2_line_1:
                      type: string
                      description: Address 1 C
                      maxLength: 200
                    secondary_address_2_line_2:
                      type: string
                      description: Address 2 C
                      maxLength: 200
                    secondary_address_2_line_3:
                      type: string
                      description: Address 3 C
                      maxLength: 200
                    secondary_address_2_city:
                      type: string
                      description: City C
                      maxLength: 50
                    secondary_address_2_state_or_province:
                      type: string
                      description: State C
                      maxLength: 50
                    secondary_address_2_zip:
                      type: string
                      description: Postal Code C
                      maxLength: 20
                    secondary_address_2_country:
                      type: integer
                      description: Country C
                    secondary_address_2_phone:
                      type: string
                      description: Phone C
                      maxLength: 30
                    active_address:
                      type: integer
                      description: |-
                        Active Address

                        Used to designate the address to be used for mailings to this household.
                  required:
                    - name
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'households:create'
  '/households/{id}':
    get:
      tags:
        - Households
      summary: Read Households
      operationId: read_households
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Household ID
                        readOnly: true
                      name:
                        type: string
                        description: Name
                        maxLength: 50
                      address_line_1:
                        type: string
                        description: |-
                          Address 1

                          Household Address 1
                        readOnly: true
                      address_line_2:
                        type: string
                        description: |-
                          Address 2

                          Household Address 2
                        readOnly: true
                      address_line_3:
                        type: string
                        description: Address 3
                        readOnly: true
                      city:
                        type: string
                        description: City
                        readOnly: true
                      state_or_province:
                        type: string
                        description: State
                        readOnly: true
                      zip:
                        type: string
                        description: Postal Code
                        readOnly: true
                      country:
                        type: integer
                        description: Country
                        readOnly: true
                      phone:
                        type: string
                        description: |-
                          Phone

                          Will be copied to the household members&#39; Home Phone fields overnight if (a) the member is a student or (b) the member&#39;s Home Phone is not already populated.
                        readOnly: true
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                      active_address:
                        type: integer
                        description: |-
                          Active Address

                          Used to designate the address to be used for mailings to this household.
                      primary_address_line_1:
                        type: string
                        description: Address 1 A
                        maxLength: 200
                      primary_address_line_2:
                        type: string
                        description: Address 2 A
                        maxLength: 200
                      primary_address_line_3:
                        type: string
                        description: Address 3 A
                        maxLength: 200
                      primary_address_city:
                        type: string
                        description: City A
                        maxLength: 50
                      primary_address_state_or_province:
                        type: string
                        description: State A
                        maxLength: 50
                      primary_address_zip:
                        type: string
                        description: Postal Code A
                        maxLength: 20
                      primary_address_country:
                        type: integer
                        description: Country A
                      primary_address_phone:
                        type: string
                        description: |-
                          Phone

                          Will be copied to the household members&#39; Home Phone fields overnight if (a) the member is a student or (b) the member&#39;s Home Phone is not already populated.
                        maxLength: 30
                      secondary_address_1_line_1:
                        type: string
                        description: Address 1 B
                        maxLength: 200
                      secondary_address_1_line_2:
                        type: string
                        description: Address 2 B
                        maxLength: 200
                      secondary_address_1_line_3:
                        type: string
                        description: Address 3 B
                        maxLength: 200
                      secondary_address_1_city:
                        type: string
                        description: City B
                        maxLength: 50
                      secondary_address_1_state_or_province:
                        type: string
                        description: State B
                        maxLength: 50
                      secondary_address_1_zip:
                        type: string
                        description: Postal Code B
                        maxLength: 20
                      secondary_address_1_country:
                        type: integer
                        description: Country B
                      secondary_address_1_phone:
                        type: string
                        description: Phone B
                        maxLength: 30
                      secondary_address_2_line_1:
                        type: string
                        description: Address 1 C
                        maxLength: 200
                      secondary_address_2_line_2:
                        type: string
                        description: Address 2 C
                        maxLength: 200
                      secondary_address_2_line_3:
                        type: string
                        description: Address 3 C
                        maxLength: 200
                      secondary_address_2_city:
                        type: string
                        description: City C
                        maxLength: 50
                      secondary_address_2_state_or_province:
                        type: string
                        description: State C
                        maxLength: 50
                      secondary_address_2_zip:
                        type: string
                        description: Postal Code C
                        maxLength: 20
                      secondary_address_2_country:
                        type: integer
                        description: Country C
                      secondary_address_2_phone:
                        type: string
                        description: Phone C
                        maxLength: 30
                    required:
                      - id
                      - name
                      - address_line_1
                      - address_line_2
                      - address_line_3
                      - city
                      - state_or_province
                      - zip
                      - country
                      - phone
                      - last_modified_date
                      - active_address
                      - primary_address_line_1
                      - primary_address_line_2
                      - primary_address_line_3
                      - primary_address_city
                      - primary_address_state_or_province
                      - primary_address_zip
                      - primary_address_country
                      - primary_address_phone
                      - secondary_address_1_line_1
                      - secondary_address_1_line_2
                      - secondary_address_1_line_3
                      - secondary_address_1_city
                      - secondary_address_1_state_or_province
                      - secondary_address_1_zip
                      - secondary_address_1_country
                      - secondary_address_1_phone
                      - secondary_address_2_line_1
                      - secondary_address_2_line_2
                      - secondary_address_2_line_3
                      - secondary_address_2_city
                      - secondary_address_2_state_or_province
                      - secondary_address_2_zip
                      - secondary_address_2_country
                      - secondary_address_2_phone
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - country
                              - active_address
                              - primary_address_country
                              - secondary_address_1_country
                              - secondary_address_2_country
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'households:read'
    parameters:
      - name: id
        in: path
        description: Household ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - Households
      summary: Update Households
      operationId: update_households
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Household ID
                      readOnly: true
                    name:
                      type: string
                      description: Name
                      maxLength: 50
                    address_line_1:
                      type: string
                      description: |-
                        Address 1

                        Household Address 1
                      readOnly: true
                    address_line_2:
                      type: string
                      description: |-
                        Address 2

                        Household Address 2
                      readOnly: true
                    address_line_3:
                      type: string
                      description: Address 3
                      readOnly: true
                    city:
                      type: string
                      description: City
                      readOnly: true
                    state_or_province:
                      type: string
                      description: State
                      readOnly: true
                    zip:
                      type: string
                      description: Postal Code
                      readOnly: true
                    country:
                      type: integer
                      description: Country
                      readOnly: true
                    phone:
                      type: string
                      description: |-
                        Phone

                        Will be copied to the household members&#39; Home Phone fields overnight if (a) the member is a student or (b) the member&#39;s Home Phone is not already populated.
                      readOnly: true
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
                    active_address:
                      type: integer
                      description: |-
                        Active Address

                        Used to designate the address to be used for mailings to this household.
                    primary_address_line_1:
                      type: string
                      description: Address 1 A
                      maxLength: 200
                    primary_address_line_2:
                      type: string
                      description: Address 2 A
                      maxLength: 200
                    primary_address_line_3:
                      type: string
                      description: Address 3 A
                      maxLength: 200
                    primary_address_city:
                      type: string
                      description: City A
                      maxLength: 50
                    primary_address_state_or_province:
                      type: string
                      description: State A
                      maxLength: 50
                    primary_address_zip:
                      type: string
                      description: Postal Code A
                      maxLength: 20
                    primary_address_country:
                      type: integer
                      description: Country A
                    primary_address_phone:
                      type: string
                      description: |-
                        Phone

                        Will be copied to the household members&#39; Home Phone fields overnight if (a) the member is a student or (b) the member&#39;s Home Phone is not already populated.
                      maxLength: 30
                    secondary_address_1_line_1:
                      type: string
                      description: Address 1 B
                      maxLength: 200
                    secondary_address_1_line_2:
                      type: string
                      description: Address 2 B
                      maxLength: 200
                    secondary_address_1_line_3:
                      type: string
                      description: Address 3 B
                      maxLength: 200
                    secondary_address_1_city:
                      type: string
                      description: City B
                      maxLength: 50
                    secondary_address_1_state_or_province:
                      type: string
                      description: State B
                      maxLength: 50
                    secondary_address_1_zip:
                      type: string
                      description: Postal Code B
                      maxLength: 20
                    secondary_address_1_country:
                      type: integer
                      description: Country B
                    secondary_address_1_phone:
                      type: string
                      description: Phone B
                      maxLength: 30
                    secondary_address_2_line_1:
                      type: string
                      description: Address 1 C
                      maxLength: 200
                    secondary_address_2_line_2:
                      type: string
                      description: Address 2 C
                      maxLength: 200
                    secondary_address_2_line_3:
                      type: string
                      description: Address 3 C
                      maxLength: 200
                    secondary_address_2_city:
                      type: string
                      description: City C
                      maxLength: 50
                    secondary_address_2_state_or_province:
                      type: string
                      description: State C
                      maxLength: 50
                    secondary_address_2_zip:
                      type: string
                      description: Postal Code C
                      maxLength: 20
                    secondary_address_2_country:
                      type: integer
                      description: Country C
                    secondary_address_2_phone:
                      type: string
                      description: Phone C
                      maxLength: 30
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'households:update'
  /master_attendance:
    get:
      tags:
        - Master Attendance
      summary: List Master Attendance
      operationId: list_master_attendance
      parameters:
        - name: attendance_date
          in: query
          description: Attendance Date
          required: false
          schema:
            type: string
            format: date
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Daily Attendance ID
                          readOnly: true
                        attendance_date:
                          type: string
                          format: date
                          description: Attendance Date
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        person:
                          type: string
                          description: Person
                          readOnly: true
                        attendance_category:
                          type: integer
                          description: Attendance Category
                        student_attendance_status:
                          type: integer
                          description: Status (Students)
                        faculty_attendance_status:
                          type: integer
                          description: Status (Faculty)
                        excused:
                          type: boolean
                          description: Excused
                        late_arrival_time:
                          type: string
                          format: date-time
                          description: |-
                            Late Arrival Time

                            Late Arrival Time
                        early_dismissal_time:
                          type: string
                          format: date-time
                          description: |-
                            Early Dismissal Time

                            Early Dismissal Time
                        return_time:
                          type: string
                          format: date-time
                          description: |-
                            Return Time

                            Return Time
                        school_year:
                          type: integer
                          description: School Year
                        grading_period:
                          type: integer
                          description: Grading Period
                        day_of_week:
                          type: integer
                          description: Day of Week
                          readOnly: true
                        notes:
                          type: string
                          description: Notes
                          maxLength: 2000
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - attendance_date
                        - person_id
                        - person
                        - attendance_category
                        - student_attendance_status
                        - faculty_attendance_status
                        - excused
                        - late_arrival_time
                        - early_dismissal_time
                        - return_time
                        - school_year
                        - grading_period
                        - day_of_week
                        - notes
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - attendance_category
                              - student_attendance_status
                              - faculty_attendance_status
                              - school_year
                              - grading_period
                              - day_of_week
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'master_attendance:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/master_attendance/{id}':
    get:
      tags:
        - Master Attendance
      summary: Read Master Attendance
      operationId: read_master_attendance
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Daily Attendance ID
                        readOnly: true
                      attendance_date:
                        type: string
                        format: date
                        description: Attendance Date
                      person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      person:
                        type: string
                        description: Person
                        readOnly: true
                      attendance_category:
                        type: integer
                        description: Attendance Category
                      student_attendance_status:
                        type: integer
                        description: Status (Students)
                      faculty_attendance_status:
                        type: integer
                        description: Status (Faculty)
                      excused:
                        type: boolean
                        description: Excused
                      late_arrival_time:
                        type: string
                        format: date-time
                        description: |-
                          Late Arrival Time

                          Late Arrival Time
                      early_dismissal_time:
                        type: string
                        format: date-time
                        description: |-
                          Early Dismissal Time

                          Early Dismissal Time
                      return_time:
                        type: string
                        format: date-time
                        description: |-
                          Return Time

                          Return Time
                      school_year:
                        type: integer
                        description: School Year
                      grading_period:
                        type: integer
                        description: Grading Period
                      day_of_week:
                        type: integer
                        description: Day of Week
                        readOnly: true
                      notes:
                        type: string
                        description: Notes
                        maxLength: 2000
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - attendance_date
                      - person_id
                      - person
                      - attendance_category
                      - student_attendance_status
                      - faculty_attendance_status
                      - excused
                      - late_arrival_time
                      - early_dismissal_time
                      - return_time
                      - school_year
                      - grading_period
                      - day_of_week
                      - notes
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - attendance_category
                              - student_attendance_status
                              - faculty_attendance_status
                              - school_year
                              - grading_period
                              - day_of_week
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'master_attendance:read'
    parameters:
      - name: id
        in: path
        description: Daily Attendance ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - Master Attendance
      summary: Update Master Attendance
      operationId: update_master_attendance
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Daily Attendance ID
                      readOnly: true
                    attendance_date:
                      type: string
                      format: date
                      description: Attendance Date
                    person_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    person:
                      type: string
                      description: Person
                      readOnly: true
                    attendance_category:
                      type: integer
                      description: Attendance Category
                    student_attendance_status:
                      type: integer
                      description: Status (Students)
                    faculty_attendance_status:
                      type: integer
                      description: Status (Faculty)
                    excused:
                      type: boolean
                      description: Excused
                    late_arrival_time:
                      type: string
                      format: date-time
                      description: |-
                        Late Arrival Time

                        Late Arrival Time
                    early_dismissal_time:
                      type: string
                      format: date-time
                      description: |-
                        Early Dismissal Time

                        Early Dismissal Time
                    return_time:
                      type: string
                      format: date-time
                      description: |-
                        Return Time

                        Return Time
                    school_year:
                      type: integer
                      description: School Year
                    grading_period:
                      type: integer
                      description: Grading Period
                    day_of_week:
                      type: integer
                      description: Day of Week
                      readOnly: true
                    notes:
                      type: string
                      description: Notes
                      maxLength: 2000
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'master_attendance:update'
  /news:
    get:
      tags:
        - News
      summary: List News
      operationId: list_news
      parameters:
        - name: composer_page_type
          in: query
          description: Composer Page Type
          required: false
          schema:
            type: integer
        - name: tags
          in: query
          description: Tag List
          required: false
          schema:
            type: string
        - name: subscription_channel
          in: query
          description: Subscription Channel
          required: false
          schema:
            type: integer
        - name: subscription_channel_category
          in: query
          description: Category
          required: false
          schema:
            type: integer
        - name: on_or_after_input_date
          in: query
          description: Input Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_update_date
          in: query
          description: Update Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_input_date
          in: query
          description: Input Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_update_date
          in: query
          description: Update Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_publish_date
          in: query
          description: Publish Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_publish_date
          in: query
          description: Publish Date
          required: false
          schema:
            type: string
            format: date-time
        - name: external_news_feed
          in: query
          description: |-
            External News Feed

            This field denotes news stories to be included in the public news feed of a Digistorm Website.
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Composer Email ID
                          readOnly: true
                        composer_page_type:
                          type: integer
                          description: Composer Page Type
                        title:
                          type: string
                          description: Description
                          maxLength: 200
                        summary:
                          type: string
                          description: Summary
                          maxLength: 500
                        tags:
                          type: string
                          description: Tag List
                          readOnly: true
                        subscription_channel:
                          type: integer
                          description: Subscription Channel
                        subscription_channel_category:
                          type: integer
                          description: Category
                        update_date:
                          type: string
                          format: date-time
                          description: Update Date
                        publish_date:
                          type: string
                          format: date-time
                          description: Publish Date
                        content:
                          type: string
                          description: Content HTML
                        preview_image:
                          type: string
                          description: Image URL
                          maxLength: 500
                        external_news_feed:
                          type: integer
                          description: |-
                            External News Feed

                            This field denotes news stories to be included in the public news feed of a Digistorm Website.
                      required:
                        - id
                        - composer_page_type
                        - title
                        - summary
                        - tags
                        - subscription_channel
                        - subscription_channel_category
                        - update_date
                        - publish_date
                        - content
                        - preview_image
                        - external_news_feed
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - composer_page_type
                              - subscription_channel
                              - subscription_channel_category
                              - external_news_feed
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'news:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/news/{id}':
    get:
      tags:
        - News
      summary: Read News
      operationId: read_news
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Composer Email ID
                        readOnly: true
                      composer_page_type:
                        type: integer
                        description: Composer Page Type
                      title:
                        type: string
                        description: Description
                        maxLength: 200
                      summary:
                        type: string
                        description: Summary
                        maxLength: 500
                      tags:
                        type: string
                        description: Tag List
                        readOnly: true
                      subscription_channel:
                        type: integer
                        description: Subscription Channel
                      subscription_channel_category:
                        type: integer
                        description: Category
                      update_date:
                        type: string
                        format: date-time
                        description: Update Date
                      publish_date:
                        type: string
                        format: date-time
                        description: Publish Date
                      content:
                        type: string
                        description: Content HTML
                      preview_image:
                        type: string
                        description: Image URL
                        maxLength: 500
                      external_news_feed:
                        type: integer
                        description: |-
                          External News Feed

                          This field denotes news stories to be included in the public news feed of a Digistorm Website.
                    required:
                      - id
                      - composer_page_type
                      - title
                      - summary
                      - tags
                      - subscription_channel
                      - subscription_channel_category
                      - update_date
                      - publish_date
                      - content
                      - preview_image
                      - external_news_feed
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - composer_page_type
                              - subscription_channel
                              - subscription_channel_category
                              - external_news_feed
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'news:read'
    parameters:
      - name: id
        in: path
        description: Composer Email ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /non-academics/classes:
    get:
      tags:
        - 'Non-Academics: Classes'
      summary: 'List Non-Academics: Classes'
      operationId: list_non_academics_classes
      parameters:
        - name: id
          in: query
          description: Internal Class ID
          required: false
          schema:
            type: integer
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: campus_id
          in: query
          description: Campus ID
          required: false
          schema:
            type: integer
        - name: school_level
          in: query
          description: School Level
          required: false
          schema:
            type: integer
        - name: internal_course_id
          in: query
          description: Internal Course ID
          required: false
          schema:
            type: integer
        - name: primary_teacher_id
          in: query
          description: Teacher ID
          required: false
          schema:
            type: integer
        - name: room_id
          in: query
          description: Room ID
          required: false
          schema:
            type: integer
        - name: internal_group_id
          in: query
          description: System Group ID
          required: false
          schema:
            type: integer
        - name: parent_portal_visibility
          in: query
          description: |-
            Parent Portal Visibility

            Indicates whether this class will display on the Parent Portal
          required: false
          schema:
            type: integer
        - name: parent_portal_assignment_display
          in: query
          description: |-
            Parent Portal Assignment Display

            Indicates whether assigments and assignment grades display on the Parent Portal
          required: false
          schema:
            type: integer
        - name: student_portal_visibility
          in: query
          description: |-
            Student Portal Visibility

            Indicates whether this class will display on the Student Portal
          required: false
          schema:
            type: integer
        - name: student_portal_assignment_display
          in: query
          description: |-
            Student Portal Assignment Display

            Indicates whether assigments and assignment grades display on the Student Portal
          required: false
          schema:
            type: integer
        - name: last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        class_id:
                          type: string
                          description: |-
                            Class ID

                            Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                            Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                          maxLength: 20
                        description:
                          type: string
                          description: Description
                          maxLength: 80
                        status:
                          type: integer
                          description: |-
                            Status

                            Status of the class (active, future, etc.)
                        school_year:
                          type: integer
                          description: School Year
                        campus_id:
                          type: integer
                          description: Campus ID
                        campus_description:
                          type: string
                          description: Description
                          maxLength: 50
                        begin_date:
                          type: string
                          format: date
                          description: Begin Date
                        end_date:
                          type: string
                          format: date
                          description: End Date
                        primary_grade_level_id:
                          type: integer
                          description: Primary Grade Level ID
                        school_level:
                          type: integer
                          description: School Level
                        course_type:
                          type: integer
                          description: Course Type
                        internal_course_id:
                          type: integer
                          description: Internal Course ID
                          readOnly: true
                        course_id:
                          type: string
                          description: Course ID
                          maxLength: 15
                        course_name:
                          type: string
                          description: Course Name
                          maxLength: 100
                        primary_teacher_id:
                          type: integer
                          description: Teacher ID
                        primary_teacher_name:
                          type: string
                          description: Teacher
                          readOnly: true
                        room_id:
                          type: integer
                          description: Room ID
                        virtual_meeting_url:
                          type: string
                          description: |-
                            Virtual Meeting URL

                            To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                          maxLength: 2000
                        subject_id:
                          type: integer
                          description: Subject
                        subject_description:
                          type: string
                          description: Description
                          maxLength: 50
                        department_id:
                          type: integer
                          description: ID
                          readOnly: true
                        department_description:
                          type: string
                          description: Description
                          maxLength: 100
                        internal_group_id:
                          type: integer
                          description: System Group ID
                        term_credit_hours:
                          type: number
                          description: |-
                            Term Credit Hours

                            The number of credit hours awarded per term.  Used to calculate GPA as well as determine credits earned values.
                        total_credits:
                          type: number
                          description: Total Credits
                          readOnly: true
                        parent_portal_visibility:
                          type: integer
                          description: |-
                            Parent Portal Visibility

                            Indicates whether this class will display on the Parent Portal
                        parent_portal_assignment_display:
                          type: integer
                          description: |-
                            Parent Portal Assignment Display

                            Indicates whether assigments and assignment grades display on the Parent Portal
                        student_portal_visibility:
                          type: integer
                          description: |-
                            Student Portal Visibility

                            Indicates whether this class will display on the Student Portal
                        student_portal_assignment_display:
                          type: integer
                          description: |-
                            Student Portal Assignment Display

                            Indicates whether assigments and assignment grades display on the Student Portal
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - class_id
                        - description
                        - status
                        - school_year
                        - campus_id
                        - campus_description
                        - begin_date
                        - end_date
                        - primary_grade_level_id
                        - school_level
                        - course_type
                        - internal_course_id
                        - course_id
                        - course_name
                        - primary_teacher_id
                        - primary_teacher_name
                        - room_id
                        - virtual_meeting_url
                        - subject_id
                        - subject_description
                        - department_id
                        - department_description
                        - internal_group_id
                        - term_credit_hours
                        - total_credits
                        - parent_portal_visibility
                        - parent_portal_assignment_display
                        - student_portal_visibility
                        - student_portal_assignment_display
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                              - school_year
                              - school_level
                              - course_type
                              - subject_id
                              - parent_portal_visibility
                              - parent_portal_assignment_display
                              - student_portal_visibility
                              - student_portal_assignment_display
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'non-academics.classes:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    post:
      tags:
        - 'Non-Academics: Classes'
      summary: 'Create Non-Academics: Classes'
      operationId: create_non_academics_classes
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    class_id:
                      type: string
                      description: |-
                        Class ID

                        Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                        Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                      maxLength: 20
                    description:
                      type: string
                      description: Description
                      maxLength: 80
                    status:
                      type: integer
                      description: |-
                        Status

                        Status of the class (active, future, etc.)
                    school_year:
                      type: integer
                      description: School Year
                    begin_date:
                      type: string
                      format: date
                      description: Begin Date
                    end_date:
                      type: string
                      format: date
                      description: End Date
                    primary_grade_level_id:
                      type: integer
                      description: Primary Grade Level ID
                    school_level:
                      type: integer
                      description: School Level
                    internal_course_id:
                      type: integer
                      description: Course ID
                    primary_teacher_id:
                      type: integer
                      description: Teacher ID
                    room_id:
                      type: integer
                      description: Room ID
                    virtual_meeting_url:
                      type: string
                      description: |-
                        Virtual Meeting URL

                        To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                      maxLength: 2000
                    subject_id:
                      type: integer
                      description: Subject
                    parent_portal_visibility:
                      type: integer
                      description: |-
                        Parent Portal Visibility

                        Indicates whether this class will display on the Parent Portal
                    parent_portal_assignment_display:
                      type: integer
                      description: |-
                        Parent Portal Assignment Display

                        Indicates whether assigments and assignment grades display on the Parent Portal
                    student_portal_visibility:
                      type: integer
                      description: |-
                        Student Portal Visibility

                        Indicates whether this class will display on the Student Portal
                    student_portal_assignment_display:
                      type: integer
                      description: |-
                        Student Portal Assignment Display

                        Indicates whether assigments and assignment grades display on the Student Portal
                    internal_group_id:
                      type: integer
                      description: System Group ID
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
                  required:
                    - class_id
                    - description
                    - internal_course_id
                    - subject_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'non-academics.classes:create'
  '/non-academics/classes/{id}':
    get:
      tags:
        - 'Non-Academics: Classes'
      summary: 'Read Non-Academics: Classes'
      operationId: read_non_academics_classes
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      class_id:
                        type: string
                        description: |-
                          Class ID

                          Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                          Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                        maxLength: 20
                      description:
                        type: string
                        description: Description
                        maxLength: 80
                      status:
                        type: integer
                        description: |-
                          Status

                          Status of the class (active, future, etc.)
                      school_year:
                        type: integer
                        description: School Year
                      begin_date:
                        type: string
                        format: date
                        description: Begin Date
                      end_date:
                        type: string
                        format: date
                        description: End Date
                      primary_grade_level_id:
                        type: integer
                        description: Primary Grade Level ID
                      school_level:
                        type: integer
                        description: School Level
                      internal_course_id:
                        type: integer
                        description: Course ID
                      primary_teacher_id:
                        type: integer
                        description: Teacher ID
                      room_id:
                        type: integer
                        description: Room ID
                      virtual_meeting_url:
                        type: string
                        description: |-
                          Virtual Meeting URL

                          To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                        maxLength: 2000
                      subject_id:
                        type: integer
                        description: Subject
                      parent_portal_visibility:
                        type: integer
                        description: |-
                          Parent Portal Visibility

                          Indicates whether this class will display on the Parent Portal
                      parent_portal_assignment_display:
                        type: integer
                        description: |-
                          Parent Portal Assignment Display

                          Indicates whether assigments and assignment grades display on the Parent Portal
                      student_portal_visibility:
                        type: integer
                        description: |-
                          Student Portal Visibility

                          Indicates whether this class will display on the Student Portal
                      student_portal_assignment_display:
                        type: integer
                        description: |-
                          Student Portal Assignment Display

                          Indicates whether assigments and assignment grades display on the Student Portal
                      internal_group_id:
                        type: integer
                        description: System Group ID
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - class_id
                      - description
                      - status
                      - school_year
                      - begin_date
                      - end_date
                      - primary_grade_level_id
                      - school_level
                      - internal_course_id
                      - primary_teacher_id
                      - room_id
                      - virtual_meeting_url
                      - subject_id
                      - parent_portal_visibility
                      - parent_portal_assignment_display
                      - student_portal_visibility
                      - student_portal_assignment_display
                      - internal_group_id
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                              - school_year
                              - school_level
                              - subject_id
                              - parent_portal_visibility
                              - parent_portal_assignment_display
                              - student_portal_visibility
                              - student_portal_assignment_display
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'non-academics.classes:read'
    parameters:
      - name: id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Non-Academics: Classes'
      summary: 'Update Non-Academics: Classes'
      operationId: update_non_academics_classes
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    class_id:
                      type: string
                      description: |-
                        Class ID

                        Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                        Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                      maxLength: 20
                    description:
                      type: string
                      description: Description
                      maxLength: 80
                    status:
                      type: integer
                      description: |-
                        Status

                        Status of the class (active, future, etc.)
                    school_year:
                      type: integer
                      description: School Year
                    begin_date:
                      type: string
                      format: date
                      description: Begin Date
                    end_date:
                      type: string
                      format: date
                      description: End Date
                    primary_grade_level_id:
                      type: integer
                      description: Primary Grade Level ID
                    school_level:
                      type: integer
                      description: School Level
                    internal_course_id:
                      type: integer
                      description: Course ID
                    primary_teacher_id:
                      type: integer
                      description: Teacher ID
                    room_id:
                      type: integer
                      description: Room ID
                    virtual_meeting_url:
                      type: string
                      description: |-
                        Virtual Meeting URL

                        To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                      maxLength: 2000
                    subject_id:
                      type: integer
                      description: Subject
                    parent_portal_visibility:
                      type: integer
                      description: |-
                        Parent Portal Visibility

                        Indicates whether this class will display on the Parent Portal
                    parent_portal_assignment_display:
                      type: integer
                      description: |-
                        Parent Portal Assignment Display

                        Indicates whether assigments and assignment grades display on the Parent Portal
                    student_portal_visibility:
                      type: integer
                      description: |-
                        Student Portal Visibility

                        Indicates whether this class will display on the Student Portal
                    student_portal_assignment_display:
                      type: integer
                      description: |-
                        Student Portal Assignment Display

                        Indicates whether assigments and assignment grades display on the Student Portal
                    internal_group_id:
                      type: integer
                      description: System Group ID
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'non-academics.classes:update'
  /non-academics/courses:
    get:
      tags:
        - 'Non-Academics: Courses'
      summary: 'List Non-Academics: Courses'
      operationId: list_non_academics_courses
      parameters:
        - name: subject_id
          in: query
          description: Subject ID
          required: false
          schema:
            type: integer
        - name: department_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: classification
          in: query
          description: Classification
          required: false
          schema:
            type: integer
        - name: last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: classification_not
          in: query
          description: Classification
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Internal Course ID
                          readOnly: true
                        course_id:
                          type: string
                          description: Course ID
                          maxLength: 15
                        name:
                          type: string
                          description: Course Name
                          maxLength: 100
                        subject_id:
                          type: integer
                          description: Subject ID
                        subject_description:
                          type: string
                          description: Description
                          maxLength: 50
                        department_id:
                          type: integer
                          description: ID
                          readOnly: true
                        department_description:
                          type: string
                          description: Description
                          maxLength: 100
                        catalog_title:
                          type: string
                          description: Catalog Title
                          maxLength: 100
                        catalog_description:
                          type: string
                          description: Catalog Description
                          maxLength: 8000
                        classification:
                          type: integer
                          description: Classification
                        course_type:
                          type: integer
                          description: Course Type
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - course_id
                        - name
                        - subject_id
                        - subject_description
                        - department_id
                        - department_description
                        - catalog_title
                        - catalog_description
                        - classification
                        - course_type
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - classification
                              - course_type
                              - classification_not
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'non-academics.courses:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    post:
      tags:
        - 'Non-Academics: Courses'
      summary: 'Create Non-Academics: Courses'
      operationId: create_non_academics_courses
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Internal Course ID
                      readOnly: true
                    course_id:
                      type: string
                      description: Course ID
                      maxLength: 15
                    name:
                      type: string
                      description: Course Name
                      maxLength: 100
                    subject_id:
                      type: integer
                      description: Subject ID
                    catalog_title:
                      type: string
                      description: Catalog Title
                      maxLength: 100
                    catalog_description:
                      type: string
                      description: Catalog Description
                      maxLength: 8000
                    course_type:
                      type: integer
                      description: Course Type
                  required:
                    - name
                    - subject_id
                    - course_type
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'non-academics.courses:create'
  '/non-academics/courses/{id}':
    get:
      tags:
        - 'Non-Academics: Courses'
      summary: 'Read Non-Academics: Courses'
      operationId: read_non_academics_courses
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Internal Course ID
                        readOnly: true
                      course_id:
                        type: string
                        description: Course ID
                        maxLength: 15
                      name:
                        type: string
                        description: Course Name
                        maxLength: 100
                      subject_id:
                        type: integer
                        description: Subject ID
                      subject_description:
                        type: string
                        description: Description
                        maxLength: 50
                      department_id:
                        type: integer
                        description: ID
                        readOnly: true
                      department_description:
                        type: string
                        description: Description
                        maxLength: 100
                      catalog_title:
                        type: string
                        description: Catalog Title
                        maxLength: 100
                      catalog_description:
                        type: string
                        description: Catalog Description
                        maxLength: 8000
                      classification:
                        type: integer
                        description: Classification
                      course_type:
                        type: integer
                        description: Course Type
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - course_id
                      - name
                      - subject_id
                      - subject_description
                      - department_id
                      - department_description
                      - catalog_title
                      - catalog_description
                      - classification
                      - course_type
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - classification
                              - course_type
                              - classification_not
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'non-academics.courses:read'
    parameters:
      - name: id
        in: path
        description: Internal Course ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Non-Academics: Courses'
      summary: 'Update Non-Academics: Courses'
      operationId: update_non_academics_courses
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Internal Course ID
                      readOnly: true
                    course_id:
                      type: string
                      description: Course ID
                      maxLength: 15
                    name:
                      type: string
                      description: Course Name
                      maxLength: 100
                    subject_id:
                      type: integer
                      description: Subject ID
                    subject_description:
                      type: string
                      description: Description
                      maxLength: 50
                    department_id:
                      type: integer
                      description: ID
                      readOnly: true
                    department_description:
                      type: string
                      description: Description
                      maxLength: 100
                    catalog_title:
                      type: string
                      description: Catalog Title
                      maxLength: 100
                    catalog_description:
                      type: string
                      description: Catalog Description
                      maxLength: 8000
                    classification:
                      type: integer
                      description: Classification
                    course_type:
                      type: integer
                      description: Course Type
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'non-academics.courses:update'
  /parents:
    get:
      tags:
        - Parents
      summary: List Parents
      description: "The options for the role parameter are:\r\n\r\nParent\r\nPrnt of Alum\r\nPrnt of Frmr Stud\r\nPrnt of Fut Stud\r\nPrnt of Prg Stud\r\nPrnt of Fut Prog Stud\r\n\r\nMultiple values can be used in a single request by separating values with a semicolon, e.g.\r\n\r\nrole=Prnt of Alum;Parent\r\n\r\nNote: currently, special characters in the query parameter values must not be URL encoded."
      operationId: list_parents
      parameters:
        - name: household_id
          in: query
          description: Household ID
          required: false
          schema:
            type: integer
        - name: role
          in: query
          description: Parent Roles
          required: false
          schema:
            type: string
        - name: include_deceased
          in: query
          description: Is Deceased?
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        household_id:
                          type: integer
                          description: Household ID
                          readOnly: true
                        head_of_household:
                          type: boolean
                          description: |-
                            Head of Household

                            The head-of-household for this individual&#39;s household
                        name_prefix:
                          type: integer
                          description: Name Prefix
                        first_name:
                          type: string
                          description: First Name
                          maxLength: 50
                        first_nick_name:
                          type: string
                          description: |-
                            First Nick Name

                            The nick-name if present, otherwise first name
                          readOnly: true
                        preferred_name:
                          type: string
                          description: Preferred Name
                          maxLength: 50
                        middle_name:
                          type: string
                          description: Middle Name
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name
                          maxLength: 50
                        name_suffix:
                          type: integer
                          description: Name Suffix
                        spouse:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Spouse Person ID
                              readOnly: true
                            name:
                              type: string
                              description: Spouse Name
                              readOnly: true
                          required:
                            - id
                            - name
                          readOnly: true
                        gender:
                          type: integer
                          description: Gender
                        roles:
                          type: string
                          description: Parent Roles
                          readOnly: true
                        email_1:
                          type: string
                          description: |-
                            Email 1

                            This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                          maxLength: 100
                        username:
                          type: string
                          description: Username
                          maxLength: 128
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - household_id
                        - head_of_household
                        - name_prefix
                        - first_name
                        - first_nick_name
                        - preferred_name
                        - middle_name
                        - last_name
                        - name_suffix
                        - spouse
                        - gender
                        - roles
                        - email_1
                        - username
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - name_prefix
                              - name_suffix
                              - gender
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'parents:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/parents/{id}':
    get:
      tags:
        - Parents
      summary: Read Parents
      operationId: read_parents
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      household_id:
                        type: integer
                        description: Household ID
                        readOnly: true
                      head_of_household:
                        type: boolean
                        description: |-
                          Head of Household

                          The head-of-household for this individual&#39;s household
                      name_prefix:
                        type: integer
                        description: Name Prefix
                      first_name:
                        type: string
                        description: First Name
                        maxLength: 50
                      first_nick_name:
                        type: string
                        description: |-
                          First Nick Name

                          The nick-name if present, otherwise first name
                        readOnly: true
                      preferred_name:
                        type: string
                        description: Preferred Name
                        maxLength: 50
                      middle_name:
                        type: string
                        description: Middle Name
                        maxLength: 50
                      last_name:
                        type: string
                        description: Last Name
                        maxLength: 50
                      name_suffix:
                        type: integer
                        description: Name Suffix
                      spouse:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Spouse Person ID
                            readOnly: true
                          name:
                            type: string
                            description: Spouse Name
                            readOnly: true
                        required:
                          - id
                          - name
                        readOnly: true
                      gender:
                        type: integer
                        description: Gender
                      roles:
                        type: string
                        description: Parent Roles
                        readOnly: true
                      username:
                        type: string
                        description: Username
                        maxLength: 128
                      email_1:
                        type: string
                        description: |-
                          Email 1

                          This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                        maxLength: 100
                      email_2:
                        type: string
                        description: |-
                          Email 2

                          This should be used when a supplemental email address is available.  Note that Email 1 is the default for email blasts and other electronic correspondence.
                        maxLength: 100
                      home_phone:
                        type: string
                        description: |-
                          Home Phone

                          This field should always be in sync with the Household phone number.
                        maxLength: 30
                      mobile_phone:
                        type: string
                        description: Mobile Phone
                        maxLength: 30
                      business_phone:
                        type: string
                        description: Business Phone
                        maxLength: 30
                      address:
                        type: object
                        properties:
                          address_1:
                            type: string
                            description: Address 1
                            readOnly: true
                          address_2:
                            type: string
                            description: Address 2
                            readOnly: true
                          address_3:
                            type: string
                            description: Address 3
                            readOnly: true
                          city:
                            type: string
                            description: City
                            readOnly: true
                          state_province:
                            type: string
                            description: State
                            readOnly: true
                          postal_code:
                            type: string
                            description: Postal Code
                            readOnly: true
                          country:
                            type: integer
                            description: Country
                            readOnly: true
                        required:
                          - address_1
                          - address_2
                          - address_3
                          - city
                          - state_province
                          - postal_code
                          - country
                        readOnly: true
                      employer:
                        type: string
                        description: |-
                          Employer

                          This field should be updated by updating data on the person_organization table (on the Organizations tab on the person detail screen)
                        maxLength: 200
                      occupation:
                        type: integer
                        description: Occupation
                      job_title:
                        type: string
                        description: Job Title
                        maxLength: 100
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - household_id
                      - head_of_household
                      - name_prefix
                      - first_name
                      - first_nick_name
                      - preferred_name
                      - middle_name
                      - last_name
                      - name_suffix
                      - spouse
                      - gender
                      - roles
                      - username
                      - email_1
                      - email_2
                      - home_phone
                      - mobile_phone
                      - business_phone
                      - address
                      - employer
                      - occupation
                      - job_title
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - name_prefix
                              - name_suffix
                              - gender
                              - address.country
                              - occupation
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'parents:read'
    parameters:
      - name: id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/person_accounts/{id}':
    delete:
      tags:
        - Person Accounts
      summary: Delete Person Accounts
      operationId: delete_person_accounts
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_accounts:delete'
    parameters:
      - name: id
        in: path
        description: |-
          Person ID

          A person record must exist before creating a user account for the person record.
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - Person Accounts
      summary: Read Person Accounts
      operationId: read_person_accounts
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      person_id:
                        type: integer
                        description: |-
                          Person ID

                          A person record must exist before creating a user account for the person record.
                      username:
                        type: string
                        description: Username
                        maxLength: 128
                      external_username:
                        type: string
                        description: |-
                          External Username

                          The username in your external login provider. If you are not using an external provider, leave blank and the system will generate a username for the user based on username configuration set up in Axiom.
                        maxLength: 255
                      account_type:
                        type: integer
                        description: Account Type
                      primary_portal:
                        type: string
                        description: Primary Portal
                        maxLength: 200
                      status:
                        type: integer
                        description: |-
                          Account Status

                          For Veracross accounts without associated external accounts.
                      security_roles:
                        type: string
                        description: Security Roles
                        readOnly: true
                      last_login_date:
                        type: string
                        format: date-time
                        description: |-
                          Last Login Date

                          The last time this user successfully logged in to Veracross (excludes impersonated logins).
                        readOnly: true
                    required:
                      - person_id
                      - username
                      - external_username
                      - account_type
                      - primary_portal
                      - status
                      - security_roles
                      - last_login_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - account_type
                              - status
                              - role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_accounts:read'
  /person_accounts:
    get:
      tags:
        - Person Accounts
      summary: List Person Accounts
      operationId: list_person_accounts
      parameters:
        - name: person_id
          in: query
          description: |-
            Person ID

            A person record must exist before creating a user account for the person record.
          required: false
          schema:
            type: integer
        - name: username
          in: query
          description: Username
          required: false
          schema:
            type: string
            maxLength: 128
        - name: external_username
          in: query
          description: |-
            External Username

            The username in your external login provider. If you are not using an external provider, leave blank and the system will generate a username for the user based on username configuration set up in Axiom.
          required: false
          schema:
            type: string
            maxLength: 255
        - name: account_type
          in: query
          description: Account Type
          required: false
          schema:
            type: integer
        - name: status
          in: query
          description: |-
            Account Status

            For Veracross accounts without associated external accounts.
          required: false
          schema:
            type: integer
        - name: role
          in: query
          description: Role
          required: false
          schema:
            type: integer
        - name: on_or_before_last_login_date
          in: query
          description: |-
            Last Login Date

            The last time this user successfully logged in to Veracross (excludes impersonated logins).
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_login_date
          in: query
          description: |-
            Last Login Date

            The last time this user successfully logged in to Veracross (excludes impersonated logins).
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        person_id:
                          type: integer
                          description: |-
                            Person ID

                            A person record must exist before creating a user account for the person record.
                        username:
                          type: string
                          description: Username
                          maxLength: 128
                        external_username:
                          type: string
                          description: |-
                            External Username

                            The username in your external login provider. If you are not using an external provider, leave blank and the system will generate a username for the user based on username configuration set up in Axiom.
                          maxLength: 255
                        account_type:
                          type: integer
                          description: Account Type
                        primary_portal:
                          type: string
                          description: Primary Portal
                          maxLength: 200
                        status:
                          type: integer
                          description: |-
                            Account Status

                            For Veracross accounts without associated external accounts.
                        security_roles:
                          type: string
                          description: Security Roles
                          readOnly: true
                        last_login_date:
                          type: string
                          format: date-time
                          description: |-
                            Last Login Date

                            The last time this user successfully logged in to Veracross (excludes impersonated logins).
                          readOnly: true
                      required:
                        - person_id
                        - username
                        - external_username
                        - account_type
                        - primary_portal
                        - status
                        - security_roles
                        - last_login_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - account_type
                              - status
                              - role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_accounts:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    post:
      tags:
        - Person Accounts
      summary: Create Person Accounts
      description: "Known limitations\r\n- The create endpoint will not allow assigning these security roles: SysAdmin_1, SysAdmin_2, User_Account_Admin.\r\n- To update a user account for a person record, first delete the account via the delete endpoint, then recreate it via the create endpoint."
      operationId: create_person_accounts
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    person_id:
                      type: integer
                      description: |-
                        Person ID

                        A person record must exist before creating a user account for the person record.
                    username:
                      type: string
                      description: Username
                      maxLength: 128
                    external_username:
                      type: string
                      description: |-
                        External Username

                        The username in your external login provider. If you are not using an external provider, leave blank and the system will generate a username for the user based on username configuration set up in Axiom.
                      maxLength: 255
                    account_status:
                      type: integer
                      description: |-
                        Account Status

                        For Veracross accounts without associated external accounts.
                    account_type:
                      type: integer
                      description: Account Type
                    external_account_status:
                      type: integer
                      description: |-
                        External Account Status

                        Enabled (`1`) or disabled (`0`); defaults to enabled.
                    security_roles:
                      type: integer
                      description: |-
                        Security Roles

                        A comma delimited string of security role IDs. If omitted, default roles are generated based on the person roles. Refer to the List Security Roles endpoint for more details.
                  required:
                    - person_id
                    - account_status
                    - account_type
                    - external_account_status
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_accounts:create'
  /person_enrollment_history:
    get:
      tags:
        - Person Enrollment History
      summary: List Person Enrollment History
      operationId: list_person_enrollment_history
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: school_year
          in: query
          description: |-
            School Year Enrolled

            From the Enrollment History table, which contains one or more records for every year the student was enrolled.  (Note the Enrollment History table does not get populated for the current year until after the first day of school.)
          required: false
          schema:
            type: integer
        - name: grading_period_id
          in: query
          description: Grading Period Enrolled
          required: false
          schema:
            type: integer
        - name: grade_level_id
          in: query
          description: Grade Level Enrolled At
          required: false
          schema:
            type: integer
        - name: campus_id
          in: query
          description: Campus
          required: false
          schema:
            type: integer
        - name: resident_status_id
          in: query
          description: Resident Status
          required: false
          schema:
            type: integer
        - name: student_group_id
          in: query
          description: Student Group
          required: false
          schema:
            type: integer
        - name: status_id
          in: query
          description: |-
            Status: Partial Year

            Indicates whether this Enrollment History record represents a mid-year enroll, an early withdrawal, or a return after missing the prior grading-period
          required: false
          schema:
            type: integer
        - name: withdraw_reason_id
          in: query
          description: Withdraw Reason
          required: false
          schema:
            type: integer
        - name: is_first_year_enrolled
          in: query
          description: |-
            First Year

            Indicates whether this is the first year the student was enrolled
          required: false
          schema:
            type: boolean
        - name: is_last_year_enrolled
          in: query
          description: |-
            Last Year

            Indicates whether this is the last year the student was enrolled
          required: false
          schema:
            type: boolean
        - name: on_or_after_date_enrolled
          in: query
          description: Date Enrolled
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_date_enrolled
          in: query
          description: Date Enrolled
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_date_withdrawn
          in: query
          description: Date Withdrawn
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_date_withdrawn
          in: query
          description: Date Withdrawn
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: PEH ID
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        first_name:
                          type: string
                          description: First Name
                          maxLength: 50
                        preferred_name:
                          type: string
                          description: Preferred Name
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name
                          maxLength: 50
                        school_year:
                          type: integer
                          description: |-
                            School Year Enrolled

                            From the Enrollment History table, which contains one or more records for every year the student was enrolled.  (Note the Enrollment History table does not get populated for the current year until after the first day of school.)
                        grading_period_id:
                          type: integer
                          description: Grading Period Enrolled
                        grade_level_id:
                          type: integer
                          description: Grade Level Enrolled At
                        campus_id:
                          type: integer
                          description: Campus
                        resident_status_id:
                          type: integer
                          description: Resident Status
                        student_group_id:
                          type: integer
                          description: Student Group
                        status_id:
                          type: integer
                          description: |-
                            Status: Partial Year

                            Indicates whether this Enrollment History record represents a mid-year enroll, an early withdrawal, or a return after missing the prior grading-period
                        date_enrolled:
                          type: string
                          format: date
                          description: Date Enrolled
                        date_withdrawn:
                          type: string
                          format: date
                          description: Date Withdrawn
                        withdraw_reason_id:
                          type: integer
                          description: Withdraw Reason
                        is_first_year_enrolled:
                          type: boolean
                          description: |-
                            First Year

                            Indicates whether this is the first year the student was enrolled
                          readOnly: true
                        is_last_year_enrolled:
                          type: boolean
                          description: |-
                            Last Year

                            Indicates whether this is the last year the student was enrolled
                          readOnly: true
                        notes:
                          type: string
                          description: Notes
                          maxLength: 300
                      required:
                        - id
                        - person_id
                        - first_name
                        - preferred_name
                        - last_name
                        - school_year
                        - grading_period_id
                        - grade_level_id
                        - campus_id
                        - resident_status_id
                        - student_group_id
                        - status_id
                        - date_enrolled
                        - date_withdrawn
                        - withdraw_reason_id
                        - is_first_year_enrolled
                        - is_last_year_enrolled
                        - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - school_year
                              - grading_period_id
                              - grade_level_id
                              - campus_id
                              - resident_status_id
                              - student_group_id
                              - status_id
                              - withdraw_reason_id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_enrollment_history:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/person_enrollment_history/{id}':
    get:
      tags:
        - Person Enrollment History
      summary: Read Person Enrollment History
      operationId: read_person_enrollment_history
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: PEH ID
                        readOnly: true
                      person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      first_name:
                        type: string
                        description: First Name
                        maxLength: 50
                      preferred_name:
                        type: string
                        description: Preferred Name
                        maxLength: 50
                      last_name:
                        type: string
                        description: Last Name
                        maxLength: 50
                      school_year:
                        type: integer
                        description: |-
                          School Year Enrolled

                          From the Enrollment History table, which contains one or more records for every year the student was enrolled.  (Note the Enrollment History table does not get populated for the current year until after the first day of school.)
                      grading_period_id:
                        type: integer
                        description: Grading Period Enrolled
                      grade_level_id:
                        type: integer
                        description: Grade Level Enrolled At
                      campus_id:
                        type: integer
                        description: Campus
                      resident_status_id:
                        type: integer
                        description: Resident Status
                      student_group_id:
                        type: integer
                        description: Student Group
                      status_id:
                        type: integer
                        description: |-
                          Status: Partial Year

                          Indicates whether this Enrollment History record represents a mid-year enroll, an early withdrawal, or a return after missing the prior grading-period
                      date_enrolled:
                        type: string
                        format: date
                        description: Date Enrolled
                      date_withdrawn:
                        type: string
                        format: date
                        description: Date Withdrawn
                      withdraw_reason_id:
                        type: integer
                        description: Withdraw Reason
                      is_first_year_enrolled:
                        type: boolean
                        description: |-
                          First Year

                          Indicates whether this is the first year the student was enrolled
                        readOnly: true
                      is_last_year_enrolled:
                        type: boolean
                        description: |-
                          Last Year

                          Indicates whether this is the last year the student was enrolled
                        readOnly: true
                      notes:
                        type: string
                        description: Notes
                        maxLength: 300
                    required:
                      - id
                      - person_id
                      - first_name
                      - preferred_name
                      - last_name
                      - school_year
                      - grading_period_id
                      - grade_level_id
                      - campus_id
                      - resident_status_id
                      - student_group_id
                      - status_id
                      - date_enrolled
                      - date_withdrawn
                      - withdraw_reason_id
                      - is_first_year_enrolled
                      - is_last_year_enrolled
                      - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - school_year
                              - grading_period_id
                              - grade_level_id
                              - campus_id
                              - resident_status_id
                              - student_group_id
                              - status_id
                              - withdraw_reason_id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_enrollment_history:read'
    parameters:
      - name: id
        in: path
        description: PEH ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /person_photos:
    get:
      tags:
        - Person Photo
      summary: List Person Photo
      description: 'This endpoint provides access to  multiple person photo URLs at one time or accessing a particular person photo URL based on a person ID. For security purposes, person photo URLs are being converted to include an expiration token of 24 hours, with nearly all photos now having this expiration token. As the remaining photos will be converted, integrations should be built as if all person photo URLs accessed via this endpoint include an expiration token.'
      operationId: list_person_photo
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: role
          in: query
          description: Role
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Photo File ID
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        download_url:
                          type: string
                          description: |-
                            Person Photo URL/W Expiration

                            This URL is private and expires 24 hours after the API request is completed.
                          readOnly: true
                        notes:
                          type: string
                          description: Notes
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - person_id
                        - download_url
                        - notes
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_photos:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/person_profile_codes/{id}':
    delete:
      tags:
        - Person Profile Codes
      summary: Delete Person Profile Codes
      operationId: delete_person_profile_codes
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_profile_codes:delete'
    parameters:
      - name: id
        in: path
        description: Person Profile Code ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - Person Profile Codes
      summary: Read Person Profile Codes
      operationId: read_person_profile_codes
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person Profile Code ID
                        readOnly: true
                      person_id:
                        type: integer
                        description: Person ID
                      profile_code_id:
                        type: integer
                        description: Profile Code
                      profile_code_category_id:
                        type: integer
                        description: Profile Code Category
                        readOnly: true
                    required:
                      - id
                      - person_id
                      - profile_code_id
                      - profile_code_category_id
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - profile_code_id
                              - profile_code_category_id
                              - role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_profile_codes:read'
  /person_profile_codes:
    get:
      tags:
        - Person Profile Codes
      summary: List Person Profile Codes
      operationId: list_person_profile_codes
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: profile_code_id
          in: query
          description: Profile Code
          required: false
          schema:
            type: integer
        - name: profile_code_category_id
          in: query
          description: Profile Code Category
          required: false
          schema:
            type: integer
        - name: admissions_only_profile_code_category
          in: query
          description: Admissions Only
          required: false
          schema:
            type: boolean
        - name: development_only_profile_code_category
          in: query
          description: Development Only
          required: false
          schema:
            type: boolean
        - name: accounting_only_profile_code_category
          in: query
          description: Accounting Only
          required: false
          schema:
            type: boolean
        - name: role
          in: query
          description: Role
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person Profile Code ID
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                        profile_code_id:
                          type: integer
                          description: Profile Code
                        profile_code_category_id:
                          type: integer
                          description: Profile Code Category
                          readOnly: true
                      required:
                        - id
                        - person_id
                        - profile_code_id
                        - profile_code_category_id
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - profile_code_id
                              - profile_code_category_id
                              - role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_profile_codes:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    post:
      tags:
        - Person Profile Codes
      summary: Create Person Profile Codes
      operationId: create_person_profile_codes
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person Profile Code ID
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person ID
                    profile_code_id:
                      type: integer
                      description: Profile Code
                  required:
                    - person_id
                    - profile_code_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_profile_codes:create'
  /person_reference_number:
    post:
      tags:
        - Person Reference Number
      summary: Create Person Reference Number
      operationId: create_person_reference_number
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person Reference Number ID
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person ID
                    type:
                      type: integer
                      description: Reference Type
                    value:
                      type: string
                      description: Reference Value
                      maxLength: 200
                    notes:
                      type: string
                      description: Notes
                      maxLength: 200
                  required:
                    - person_id
                    - type
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_reference_number:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - Person Reference Number
      summary: List Person Reference Number
      operationId: list_person_reference_number
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: type
          in: query
          description: Reference Type
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person Reference Number ID
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                        type:
                          type: integer
                          description: Reference Type
                        value:
                          type: string
                          description: Reference Value
                          maxLength: 200
                        notes:
                          type: string
                          description: Notes
                          maxLength: 200
                      required:
                        - id
                        - person_id
                        - type
                        - value
                        - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_reference_number:list'
  '/person_reference_number/{id}':
    delete:
      tags:
        - Person Reference Number
      summary: Delete Person Reference Number
      operationId: delete_person_reference_number
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_reference_number:delete'
    parameters:
      - name: id
        in: path
        description: Person Reference Number ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - Person Reference Number
      summary: Read Person Reference Number
      operationId: read_person_reference_number
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person Reference Number ID
                        readOnly: true
                      person_id:
                        type: integer
                        description: Person ID
                      type:
                        type: integer
                        description: Reference Type
                      value:
                        type: string
                        description: Reference Value
                        maxLength: 200
                      notes:
                        type: string
                        description: Notes
                        maxLength: 200
                    required:
                      - id
                      - person_id
                      - type
                      - value
                      - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_reference_number:read'
    patch:
      tags:
        - Person Reference Number
      summary: Update Person Reference Number
      operationId: update_person_reference_number
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person Reference Number ID
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person ID
                    type:
                      type: integer
                      description: Reference Type
                    value:
                      type: string
                      description: Reference Value
                      maxLength: 200
                    notes:
                      type: string
                      description: Notes
                      maxLength: 200
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_reference_number:update'
  /person_roles:
    post:
      tags:
        - Person Roles
      summary: Create Person Roles
      operationId: create_person_roles
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person Role Id
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person ID
                    role_id:
                      type: integer
                      description: Role
                  required:
                    - person_id
                    - role_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_roles:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - Person Roles
      summary: List Person Roles
      operationId: list_person_roles
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: role_id
          in: query
          description: Role
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person Role Id
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                        role_id:
                          type: integer
                          description: Role
                      required:
                        - id
                        - person_id
                        - role_id
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - role_id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_roles:list'
  '/person_roles/{id}':
    delete:
      tags:
        - Person Roles
      summary: Delete Person Roles
      operationId: delete_person_roles
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_roles:delete'
    parameters:
      - name: id
        in: path
        description: Person Role Id
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - Person Roles
      summary: Read Person Roles
      operationId: read_person_roles
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person Role Id
                        readOnly: true
                      person_id:
                        type: integer
                        description: Person ID
                      role_id:
                        type: integer
                        description: Role
                    required:
                      - id
                      - person_id
                      - role_id
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - role_id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_roles:read'
  /person_visas:
    get:
      tags:
        - Person Visas
      summary: List Person Visas
      operationId: list_person_visas
      parameters:
        - name: visa_category
          in: query
          description: Visa Category
          required: false
          schema:
            type: integer
        - name: role
          in: query
          description: Role
          required: false
          schema:
            type: integer
        - name: on_or_after_visa_expiration_date
          in: query
          description: Visa Expiration Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_visa_expiration_date
          in: query
          description: Visa Expiration Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_visa_issue_date
          in: query
          description: Visa Issue Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_visa_issue_date
          in: query
          description: Visa Issue Date
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        visa_number:
                          type: string
                          description: Visa Number
                          maxLength: 100
                        visa_category:
                          type: integer
                          description: Visa Category
                        visa_issue_date:
                          type: string
                          format: date
                          description: Visa Issue Date
                        visa_expiration_date:
                          type: string
                          format: date
                          description: Visa Expiration Date
                        visa_notes:
                          type: string
                          description: Visa Notes
                          maxLength: 200
                      required:
                        - id
                        - visa_number
                        - visa_category
                        - visa_issue_date
                        - visa_expiration_date
                        - visa_notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - visa_category
                              - role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_visas:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/person_visas/{id}':
    get:
      tags:
        - Person Visas
      summary: Read Person Visas
      operationId: read_person_visas
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      visa_number:
                        type: string
                        description: Visa Number
                        maxLength: 100
                      visa_category:
                        type: integer
                        description: Visa Category
                      visa_issue_date:
                        type: string
                        format: date
                        description: Visa Issue Date
                      visa_expiration_date:
                        type: string
                        format: date
                        description: Visa Expiration Date
                      visa_notes:
                        type: string
                        description: Visa Notes
                        maxLength: 200
                    required:
                      - id
                      - visa_number
                      - visa_category
                      - visa_issue_date
                      - visa_expiration_date
                      - visa_notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - visa_category
                              - role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_visas:read'
    parameters:
      - name: id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - Person Visas
      summary: Update Person Visas
      operationId: update_person_visas
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    visa_number:
                      type: string
                      description: Visa Number
                      maxLength: 100
                    visa_category:
                      type: integer
                      description: Visa Category
                    visa_issue_date:
                      type: string
                      format: date
                      description: Visa Issue Date
                    visa_expiration_date:
                      type: string
                      format: date
                      description: Visa Expiration Date
                    visa_notes:
                      type: string
                      description: Visa Notes
                      maxLength: 200
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'person_visas:update'
  '/programs/classes/{internal_class_id}/attendance':
    get:
      tags:
        - 'Programs: Class Attendance'
      summary: 'List Programs: Class Attendance'
      operationId: list_programs_class_attendance
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Class Attendance ID
                          readOnly: true
                        internal_class_id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        attendance_date:
                          type: string
                          format: date
                          description: Attendance Date
                        block:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Period ID
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 6
                          required:
                            - id
                            - description
                            - abbreviation
                        start_time:
                          type: string
                          format: date-time
                          description: Class Begin Time
                          readOnly: true
                        end_time:
                          type: string
                          format: date-time
                          description: Class End Time
                          readOnly: true
                        status:
                          type: integer
                          description: Status
                        notes:
                          type: string
                          description: Notes
                          maxLength: 500
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - internal_class_id
                        - person_id
                        - attendance_date
                        - block
                        - start_time
                        - end_time
                        - status
                        - notes
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'programs.classes.attendance:list'
    parameters:
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/programs/classes/{internal_class_id}/attendance/{id}':
    get:
      tags:
        - 'Programs: Class Attendance'
      summary: 'Read Programs: Class Attendance'
      operationId: read_programs_class_attendance
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Class Attendance ID
                        readOnly: true
                      internal_class_id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      attendance_date:
                        type: string
                        format: date
                        description: Attendance Date
                      block:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Period ID
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 6
                        required:
                          - id
                          - description
                          - abbreviation
                      start_time:
                        type: string
                        format: date-time
                        description: Class Begin Time
                        readOnly: true
                      end_time:
                        type: string
                        format: date-time
                        description: Class End Time
                        readOnly: true
                      status:
                        type: integer
                        description: Status
                      notes:
                        type: string
                        description: Notes
                        maxLength: 500
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - internal_class_id
                      - person_id
                      - attendance_date
                      - block
                      - start_time
                      - end_time
                      - status
                      - notes
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'programs.classes.attendance:read'
    parameters:
      - name: id
        in: path
        description: Class Attendance ID
        required: true
        schema:
          type: integer
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Programs: Class Attendance'
      summary: 'Update Programs: Class Attendance'
      operationId: update_programs_class_attendance
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Class Attendance ID
                      readOnly: true
                    internal_class_id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    attendance_date:
                      type: string
                      format: date
                      description: Attendance Date
                    block:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Period ID
                        description:
                          type: string
                          description: Description
                          maxLength: 50
                        abbreviation:
                          type: string
                          description: Abbreviation
                          maxLength: 6
                      required:
                        - id
                        - description
                        - abbreviation
                    start_time:
                      type: string
                      format: date-time
                      description: Class Begin Time
                      readOnly: true
                    end_time:
                      type: string
                      format: date-time
                      description: Class End Time
                      readOnly: true
                    status:
                      type: integer
                      description: Status
                    notes:
                      type: string
                      description: Notes
                      maxLength: 500
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'programs.classes.attendance:update'
  '/programs/classes/{internal_class_id}/meeting_times':
    get:
      tags:
        - 'Programs: Class Meeting Times'
      summary: 'List Programs: Class Meeting Times'
      operationId: list_programs_class_meeting_times
      parameters:
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Class Calendar Day ID
                          readOnly: true
                        internal_class_id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        date:
                          type: string
                          format: date
                          description: Calendar Date
                        start_time:
                          type: string
                          description: Start Time
                          readOnly: true
                        end_time:
                          type: string
                          description: End Time
                          readOnly: true
                        grading_period:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Grading Period
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 20
                          required:
                            - id
                            - description
                            - abbreviation
                        day:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Day
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 8
                          required:
                            - id
                            - description
                            - abbreviation
                        block:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Block
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 6
                          required:
                            - id
                            - description
                            - abbreviation
                        room:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Room
                            description:
                              type: string
                              description: Description
                              maxLength: 100
                          required:
                            - id
                            - description
                      required:
                        - id
                        - internal_class_id
                        - date
                        - start_time
                        - end_time
                        - grading_period
                        - day
                        - block
                        - room
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - grading_period.id
                              - day.id
                              - block.id
                              - room.id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'programs.classes.meeting_times:list'
    parameters:
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/programs/classes/{internal_class_id}/meeting_times/{id}':
    get:
      tags:
        - 'Programs: Class Meeting Times'
      summary: 'Read Programs: Class Meeting Times'
      operationId: read_programs_class_meeting_times
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Class Calendar Day ID
                        readOnly: true
                      internal_class_id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      date:
                        type: string
                        format: date
                        description: Calendar Date
                      start_time:
                        type: string
                        description: Start Time
                        readOnly: true
                      end_time:
                        type: string
                        description: End Time
                        readOnly: true
                      grading_period:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Grading Period
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 20
                        required:
                          - id
                          - description
                          - abbreviation
                      day:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Day
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 8
                        required:
                          - id
                          - description
                          - abbreviation
                      block:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Block
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 6
                        required:
                          - id
                          - description
                          - abbreviation
                      room:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Room
                          description:
                            type: string
                            description: Description
                            maxLength: 100
                        required:
                          - id
                          - description
                    required:
                      - id
                      - internal_class_id
                      - date
                      - start_time
                      - end_time
                      - grading_period
                      - day
                      - block
                      - room
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - grading_period.id
                              - day.id
                              - block.id
                              - room.id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'programs.classes.meeting_times:read'
    parameters:
      - name: id
        in: path
        description: Class Calendar Day ID
        required: true
        schema:
          type: integer
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /programs/classes:
    post:
      tags:
        - 'Programs: Classes'
      summary: 'Create Programs: Classes'
      operationId: create_programs_classes
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    class_id:
                      type: string
                      description: |-
                        Class ID

                        Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                        Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                      maxLength: 20
                    description:
                      type: string
                      description: Description
                      maxLength: 80
                    status:
                      type: integer
                      description: |-
                        Status

                        Status of the class (active, future, etc.)
                    school_year:
                      type: integer
                      description: School Year
                    begin_date:
                      type: string
                      format: date
                      description: Begin Date
                    end_date:
                      type: string
                      format: date
                      description: End Date
                    primary_grade_level_id:
                      type: integer
                      description: Primary Grade Level ID
                    school_level_id:
                      type: integer
                      description: ID
                      readOnly: true
                    internal_course_id:
                      type: integer
                      description: Course ID
                    primary_teacher_id:
                      type: integer
                      description: Teacher ID
                    room_id:
                      type: integer
                      description: Room ID
                    virtual_meeting_url:
                      type: string
                      description: |-
                        Virtual Meeting URL

                        To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                      maxLength: 2000
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
                  required:
                    - class_id
                    - description
                    - internal_course_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'programs.classes:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Programs: Classes'
      summary: 'List Programs: Classes'
      operationId: list_programs_classes
      parameters:
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: primary_teacher_id
          in: query
          description: Teacher ID
          required: false
          schema:
            type: integer
        - name: room_id
          in: query
          description: Room ID
          required: false
          schema:
            type: integer
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        class_id:
                          type: string
                          description: |-
                            Class ID

                            Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                            Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                          maxLength: 20
                        description:
                          type: string
                          description: Description
                          maxLength: 80
                        status:
                          type: integer
                          description: |-
                            Status

                            Status of the class (active, future, etc.)
                        school_year:
                          type: integer
                          description: School Year
                        begin_date:
                          type: string
                          format: date
                          description: Begin Date
                        end_date:
                          type: string
                          format: date
                          description: End Date
                        primary_grade_level_id:
                          type: integer
                          description: Primary Grade Level ID
                        school_level_id:
                          type: integer
                          description: ID
                          readOnly: true
                        internal_course_id:
                          type: integer
                          description: Course ID
                        primary_teacher_id:
                          type: integer
                          description: Teacher ID
                        room_id:
                          type: integer
                          description: Room ID
                        virtual_meeting_url:
                          type: string
                          description: |-
                            Virtual Meeting URL

                            To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                          maxLength: 2000
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - class_id
                        - description
                        - status
                        - school_year
                        - begin_date
                        - end_date
                        - primary_grade_level_id
                        - school_level_id
                        - internal_course_id
                        - primary_teacher_id
                        - room_id
                        - virtual_meeting_url
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                              - school_year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'programs.classes:list'
  '/programs/classes/{id}':
    get:
      tags:
        - 'Programs: Classes'
      summary: 'Read Programs: Classes'
      operationId: read_programs_classes
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      class_id:
                        type: string
                        description: |-
                          Class ID

                          Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                          Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                        maxLength: 20
                      description:
                        type: string
                        description: Description
                        maxLength: 80
                      status:
                        type: integer
                        description: |-
                          Status

                          Status of the class (active, future, etc.)
                      school_year:
                        type: integer
                        description: School Year
                      begin_date:
                        type: string
                        format: date
                        description: Begin Date
                      end_date:
                        type: string
                        format: date
                        description: End Date
                      primary_grade_level_id:
                        type: integer
                        description: Primary Grade Level ID
                      school_level_id:
                        type: integer
                        description: ID
                        readOnly: true
                      internal_course_id:
                        type: integer
                        description: Course ID
                      primary_teacher_id:
                        type: integer
                        description: Teacher ID
                      room_id:
                        type: integer
                        description: Room ID
                      virtual_meeting_url:
                        type: string
                        description: |-
                          Virtual Meeting URL

                          To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                        maxLength: 2000
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - class_id
                      - description
                      - status
                      - school_year
                      - begin_date
                      - end_date
                      - primary_grade_level_id
                      - school_level_id
                      - internal_course_id
                      - primary_teacher_id
                      - room_id
                      - virtual_meeting_url
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                              - school_year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'programs.classes:read'
    parameters:
      - name: id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Programs: Classes'
      summary: 'Update Programs: Classes'
      operationId: update_programs_classes
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    class_id:
                      type: string
                      description: |-
                        Class ID

                        Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                        Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                      maxLength: 20
                    description:
                      type: string
                      description: Description
                      maxLength: 80
                    status:
                      type: integer
                      description: |-
                        Status

                        Status of the class (active, future, etc.)
                    school_year:
                      type: integer
                      description: School Year
                    begin_date:
                      type: string
                      format: date
                      description: Begin Date
                    end_date:
                      type: string
                      format: date
                      description: End Date
                    primary_grade_level_id:
                      type: integer
                      description: Primary Grade Level ID
                    school_level_id:
                      type: integer
                      description: ID
                      readOnly: true
                    internal_course_id:
                      type: integer
                      description: Course ID
                    primary_teacher_id:
                      type: integer
                      description: Teacher ID
                    room_id:
                      type: integer
                      description: Room ID
                    virtual_meeting_url:
                      type: string
                      description: |-
                        Virtual Meeting URL

                        To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                      maxLength: 2000
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'programs.classes:update'
  /programs/courses:
    get:
      tags:
        - 'Programs: Courses'
      summary: 'List Programs: Courses'
      operationId: list_programs_courses
      parameters:
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Internal Course ID
                          readOnly: true
                        name:
                          type: string
                          description: Course Name
                          maxLength: 100
                        course_id:
                          type: string
                          description: Course ID
                          maxLength: 15
                        subject:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Subject ID
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                          required:
                            - id
                            - description
                        catalog_title:
                          type: string
                          description: Catalog Title
                          maxLength: 100
                        catalog_description:
                          type: string
                          description: Catalog Description
                          maxLength: 8000
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - name
                        - course_id
                        - subject
                        - catalog_title
                        - catalog_description
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'programs.courses:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    post:
      tags:
        - 'Programs: Courses'
      summary: 'Create Programs: Courses'
      operationId: create_programs_courses
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Description
                      maxLength: 100
                    subject_id:
                      type: string
                      description: Subject
                    course_id:
                      type: string
                      description: Course ID
                      maxLength: 15
                    catalog_title:
                      type: string
                      description: Catalog Title
                      maxLength: 100
                    catalog_description:
                      type: string
                      description: Notes
                      maxLength: 8000
                  required:
                    - name
                    - subject_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'programs.courses:create'
  '/programs/courses/{id}':
    get:
      tags:
        - 'Programs: Courses'
      summary: 'Read Programs: Courses'
      operationId: read_programs_courses
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Internal Course ID
                        readOnly: true
                      name:
                        type: string
                        description: Course Name
                        maxLength: 100
                      course_id:
                        type: string
                        description: Course ID
                        maxLength: 15
                      subject:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Subject ID
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                        required:
                          - id
                          - description
                      catalog_title:
                        type: string
                        description: Catalog Title
                        maxLength: 100
                      catalog_description:
                        type: string
                        description: Catalog Description
                        maxLength: 8000
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - name
                      - course_id
                      - subject
                      - catalog_title
                      - catalog_description
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'programs.courses:read'
    parameters:
      - name: id
        in: path
        description: Internal Course ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Programs: Courses'
      summary: 'Update Programs: Courses'
      operationId: update_programs_courses
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Internal Course ID
                      readOnly: true
                    name:
                      type: string
                      description: Course Name
                      maxLength: 100
                    course_id:
                      type: string
                      description: Course ID
                      maxLength: 15
                    subject:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Subject ID
                        description:
                          type: string
                          description: Description
                          maxLength: 50
                      required:
                        - id
                        - description
                    catalog_title:
                      type: string
                      description: Catalog Title
                      maxLength: 100
                    catalog_description:
                      type: string
                      description: Catalog Description
                      maxLength: 8000
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'programs.courses:update'
  /programs/enrollments:
    get:
      tags:
        - 'Programs: Enrollments'
      summary: 'List Programs: Enrollments'
      operationId: list_programs_enrollments
      parameters:
        - name: internal_class_id
          in: query
          description: Internal Class ID
          required: false
          schema:
            type: integer
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: exclude_from_transcript
          in: query
          description: |-
            Exclude From Transcript

            Excludes posted grades for this enrollment from being posted to the transcript.  Selecting this option does NOT impact this student&#39;s GPA.
          required: false
          schema:
            type: boolean
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Enrollment ID
                          readOnly: true
                        internal_class_id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        class_description:
                          type: string
                          description: Description
                          maxLength: 80
                        primary_teacher:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Teacher ID
                              readOnly: true
                            name_prefix:
                              type: string
                              description: Description
                              readOnly: true
                            first_name:
                              type: string
                              description: First Name
                              readOnly: true
                              maxLength: 50
                            middle_name:
                              type: string
                              description: Middle Name
                              readOnly: true
                              maxLength: 50
                            last_name:
                              type: string
                              description: Last Name
                              readOnly: true
                              maxLength: 50
                            name_suffix:
                              type: string
                              description: Description
                              readOnly: true
                            preferred_name:
                              type: string
                              description: Preferred Name
                              readOnly: true
                              maxLength: 50
                          required:
                            - id
                            - name_prefix
                            - first_name
                            - middle_name
                            - last_name
                            - name_suffix
                            - preferred_name
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        grade_level_id:
                          type: integer
                          description: ID
                          readOnly: true
                        currently_enrolled:
                          type: boolean
                          description: |-
                            Currently Enrolled

                            A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                            For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                        late_date_enrolled:
                          type: string
                          format: date
                          description: |-
                            Late Date Enrolled

                            The date the student enrolled in the class
                        date_withdrawn:
                          type: string
                          format: date
                          description: |-
                            Date Withdrawn

                            The date the student withdrew from the class
                        level:
                          type: integer
                          description: |-
                            Enrollment Level

                            The enrollment level is used when some students are taking the class for a different level of credit than other students. If all students are taking the course for the same level of credit, setting the enrollment level is NOT necessary. If the student&#39;s enrollment level should influence GPA, please review &quot;override grade conversion scale&quot; on the student&#39;s class enrollment record.
                        exclude_from_transcript:
                          type: boolean
                          description: |-
                            Exclude From Transcript

                            Excludes posted grades for this enrollment from being posted to the transcript.  Selecting this option does NOT impact this student&#39;s GPA.
                        notes:
                          type: string
                          description: Notes
                          maxLength: 1000
                      required:
                        - id
                        - internal_class_id
                        - class_description
                        - primary_teacher
                        - person_id
                        - grade_level_id
                        - currently_enrolled
                        - late_date_enrolled
                        - date_withdrawn
                        - level
                        - exclude_from_transcript
                        - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - level
                              - school_year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'programs.enrollments:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    post:
      tags:
        - 'Programs: Enrollments'
      summary: 'Create Programs: Enrollments'
      operationId: create_programs_enrollments
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Enrollment ID
                      readOnly: true
                    internal_class_id:
                      type: integer
                      description: Internal Class ID
                    person_id:
                      type: integer
                      description: Person ID
                    grade_level_id:
                      type: integer
                      description: ID
                      readOnly: true
                    currently_enrolled:
                      type: boolean
                      description: |-
                        Currently Enrolled

                        A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                        For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                    late_date_enrolled:
                      type: string
                      format: date
                      description: |-
                        Late Date Enrolled

                        The date the student enrolled in the class
                    date_withdrawn:
                      type: string
                      format: date
                      description: |-
                        Date Withdrawn

                        The date the student withdrew from the class
                    level:
                      type: integer
                      description: |-
                        Enrollment Level

                        The enrollment level is used when some students are taking the class for a different level of credit than other students. If all students are taking the course for the same level of credit, setting the enrollment level is NOT necessary. If the student&#39;s enrollment level should influence GPA, please review &quot;override grade conversion scale&quot; on the student&#39;s class enrollment record.
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
                  required:
                    - internal_class_id
                    - person_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'programs.enrollments:create'
  '/programs/enrollments/{id}':
    get:
      tags:
        - 'Programs: Enrollments'
      summary: 'Read Programs: Enrollments'
      operationId: read_programs_enrollments
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Enrollment ID
                        readOnly: true
                      internal_class_id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      class_description:
                        type: string
                        description: Description
                        maxLength: 80
                      primary_teacher:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Teacher ID
                            readOnly: true
                          name_prefix:
                            type: string
                            description: Description
                            readOnly: true
                          first_name:
                            type: string
                            description: First Name
                            readOnly: true
                            maxLength: 50
                          middle_name:
                            type: string
                            description: Middle Name
                            readOnly: true
                            maxLength: 50
                          last_name:
                            type: string
                            description: Last Name
                            readOnly: true
                            maxLength: 50
                          name_suffix:
                            type: string
                            description: Description
                            readOnly: true
                          preferred_name:
                            type: string
                            description: Preferred Name
                            readOnly: true
                            maxLength: 50
                        required:
                          - id
                          - name_prefix
                          - first_name
                          - middle_name
                          - last_name
                          - name_suffix
                          - preferred_name
                        readOnly: true
                      person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      grade_level_id:
                        type: integer
                        description: ID
                        readOnly: true
                      currently_enrolled:
                        type: boolean
                        description: |-
                          Currently Enrolled

                          A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                          For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                      late_date_enrolled:
                        type: string
                        format: date
                        description: |-
                          Late Date Enrolled

                          The date the student enrolled in the class
                      date_withdrawn:
                        type: string
                        format: date
                        description: |-
                          Date Withdrawn

                          The date the student withdrew from the class
                      level:
                        type: integer
                        description: |-
                          Enrollment Level

                          The enrollment level is used when some students are taking the class for a different level of credit than other students. If all students are taking the course for the same level of credit, setting the enrollment level is NOT necessary. If the student&#39;s enrollment level should influence GPA, please review &quot;override grade conversion scale&quot; on the student&#39;s class enrollment record.
                      exclude_from_transcript:
                        type: boolean
                        description: |-
                          Exclude From Transcript

                          Excludes posted grades for this enrollment from being posted to the transcript.  Selecting this option does NOT impact this student&#39;s GPA.
                      notes:
                        type: string
                        description: Notes
                        maxLength: 1000
                    required:
                      - id
                      - internal_class_id
                      - class_description
                      - primary_teacher
                      - person_id
                      - grade_level_id
                      - currently_enrolled
                      - late_date_enrolled
                      - date_withdrawn
                      - level
                      - exclude_from_transcript
                      - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - level
                              - school_year
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'programs.enrollments:read'
    parameters:
      - name: id
        in: path
        description: Enrollment ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Programs: Enrollments'
      summary: 'Update Programs: Enrollments'
      operationId: update_programs_enrollments
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Enrollment ID
                      readOnly: true
                    internal_class_id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    class_description:
                      type: string
                      description: Description
                      maxLength: 80
                    primary_teacher:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Teacher ID
                          readOnly: true
                        name_prefix:
                          type: string
                          description: Description
                          readOnly: true
                        first_name:
                          type: string
                          description: First Name
                          readOnly: true
                          maxLength: 50
                        middle_name:
                          type: string
                          description: Middle Name
                          readOnly: true
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name
                          readOnly: true
                          maxLength: 50
                        name_suffix:
                          type: string
                          description: Description
                          readOnly: true
                        preferred_name:
                          type: string
                          description: Preferred Name
                          readOnly: true
                          maxLength: 50
                      required:
                        - id
                        - name_prefix
                        - first_name
                        - middle_name
                        - last_name
                        - name_suffix
                        - preferred_name
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    grade_level_id:
                      type: integer
                      description: ID
                      readOnly: true
                    currently_enrolled:
                      type: boolean
                      description: |-
                        Currently Enrolled

                        A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                        For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                    late_date_enrolled:
                      type: string
                      format: date
                      description: |-
                        Late Date Enrolled

                        The date the student enrolled in the class
                    date_withdrawn:
                      type: string
                      format: date
                      description: |-
                        Date Withdrawn

                        The date the student withdrew from the class
                    level:
                      type: integer
                      description: |-
                        Enrollment Level

                        The enrollment level is used when some students are taking the class for a different level of credit than other students. If all students are taking the course for the same level of credit, setting the enrollment level is NOT necessary. If the student&#39;s enrollment level should influence GPA, please review &quot;override grade conversion scale&quot; on the student&#39;s class enrollment record.
                    exclude_from_transcript:
                      type: boolean
                      description: |-
                        Exclude From Transcript

                        Excludes posted grades for this enrollment from being posted to the transcript.  Selecting this option does NOT impact this student&#39;s GPA.
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'programs.enrollments:update'
  /relationships:
    get:
      tags:
        - Relationships
      summary: List Relationships
      operationId: list_relationships
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: related_person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: relationship
          in: query
          description: |-
            Relationship

            When background shading is available:

            Orange: Immediate family, e.g. Husband, Wife, Father, Mother, Brother, Sister, Sibling, Domestic Partner

            Yellow: Secondary family, e.g. Grandparents, Aunt/Uncle, Cousin

            Manilla: In-Laws, Exes, Step-child, Step-parent, deceased spouse

            Gray-Blue: &quot;Unspecified&quot; and &quot;Other&quot;

            White: All others
          required: false
          schema:
            type: integer
        - name: resident
          in: query
          description: |-
            Resident

            Indicates whether the related person lives in the same household
          required: false
          schema:
            type: boolean
        - name: legal_custody
          in: query
          description: |-
            Legal Custody

            Indicates that the parent has legal custody of the child
          required: false
          schema:
            type: boolean
        - name: emergency
          in: query
          description: |-
            Emergency

            Indicates that this is an emergency contact
          required: false
          schema:
            type: boolean
        - name: pick_up
          in: query
          description: |-
            Pick Up

            Indicates that this is a pick-up contact
          required: false
          schema:
            type: boolean
        - name: parent_portal_access
          in: query
          description: |-
            Parent Portal Access

            Gives this person parent portal access, regardless of legal custody settings
          required: false
          schema:
            type: boolean
        - name: role
          in: query
          description: Role
          required: false
          schema:
            type: integer
        - name: related_person_role
          in: query
          description: Role
          required: false
          schema:
            type: integer
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person Person ID
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        related_person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        first_name:
                          type: string
                          description: First Name
                          maxLength: 50
                        middle_name:
                          type: string
                          description: Middle Name
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name
                          maxLength: 50
                        preferred_name:
                          type: string
                          description: Preferred Name
                          maxLength: 50
                        relationship:
                          type: integer
                          description: |-
                            Relationship

                            When background shading is available:

                            Orange: Immediate family, e.g. Husband, Wife, Father, Mother, Brother, Sister, Sibling, Domestic Partner

                            Yellow: Secondary family, e.g. Grandparents, Aunt/Uncle, Cousin

                            Manilla: In-Laws, Exes, Step-child, Step-parent, deceased spouse

                            Gray-Blue: &quot;Unspecified&quot; and &quot;Other&quot;

                            White: All others
                        resident:
                          type: boolean
                          description: |-
                            Resident

                            Indicates whether the related person lives in the same household
                          readOnly: true
                        custody_status:
                          type: string
                          description: API Custody Status
                          readOnly: true
                        legal_custody:
                          type: boolean
                          description: |-
                            Legal Custody

                            Indicates that the parent has legal custody of the child
                        emergency:
                          type: boolean
                          description: |-
                            Emergency

                            Indicates that this is an emergency contact
                        pick_up:
                          type: boolean
                          description: |-
                            Pick Up

                            Indicates that this is a pick-up contact
                        parent_portal_access:
                          type: boolean
                          description: |-
                            Parent Portal Access

                            Gives this person parent portal access, regardless of legal custody settings
                        profile_update_permission:
                          type: boolean
                          description: |-
                            Profile Update Permission

                            When selected, allows parent/guardians to update regarding the related candidate/student on the Household Profile Update form
                        receive_general_correspondence:
                          type: boolean
                          description: |-
                            Receive General Correspondence

                            Indicates this person receives general correspondence. Used for any person who should receive general correspondence for this student, regardless of resident status.
                        receive_report_cards:
                          type: boolean
                          description: |-
                            Receive Report Cards

                            Indicates this person receives report-cards. Reserved for Non-Resident people who are related to the student.
                        receive_invoices:
                          type: boolean
                          description: |-
                            Receive Invoices

                            Axiom Student Billing Schools, this field is only used to indicate that a non-resident parent should see autopay requirements on their parent portal experience. However, for all other recipient management, recipients are managed at the Billing Account level for Axiom Student Billing Schools.
                        receive_other:
                          type: boolean
                          description: |-
                            Receive Other

                            Indicates this person receives other school-defined correspondence
                        medical_notification:
                          type: boolean
                          description: |-
                            Medical Notification

                            Indicates that this is a medical authorization contact
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - person_id
                        - related_person_id
                        - first_name
                        - middle_name
                        - last_name
                        - preferred_name
                        - relationship
                        - resident
                        - custody_status
                        - legal_custody
                        - emergency
                        - pick_up
                        - parent_portal_access
                        - profile_update_permission
                        - receive_general_correspondence
                        - receive_report_cards
                        - receive_invoices
                        - receive_other
                        - medical_notification
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - relationship
                              - role
                              - related_person_role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'relationships:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/relationships/{id}':
    get:
      tags:
        - Relationships
      summary: Read Relationships
      operationId: read_relationships
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person Person ID
                        readOnly: true
                      person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      related_person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      first_name:
                        type: string
                        description: First Name
                        maxLength: 50
                      middle_name:
                        type: string
                        description: Middle Name
                        maxLength: 50
                      last_name:
                        type: string
                        description: Last Name
                        maxLength: 50
                      preferred_name:
                        type: string
                        description: Preferred Name
                        maxLength: 50
                      relationship:
                        type: integer
                        description: |-
                          Relationship

                          When background shading is available:

                          Orange: Immediate family, e.g. Husband, Wife, Father, Mother, Brother, Sister, Sibling, Domestic Partner

                          Yellow: Secondary family, e.g. Grandparents, Aunt/Uncle, Cousin

                          Manilla: In-Laws, Exes, Step-child, Step-parent, deceased spouse

                          Gray-Blue: &quot;Unspecified&quot; and &quot;Other&quot;

                          White: All others
                      resident:
                        type: boolean
                        description: |-
                          Resident

                          Indicates whether the related person lives in the same household
                        readOnly: true
                      custody_status:
                        type: string
                        description: API Custody Status
                        readOnly: true
                      legal_custody:
                        type: boolean
                        description: |-
                          Legal Custody

                          Indicates that the parent has legal custody of the child
                      emergency:
                        type: boolean
                        description: |-
                          Emergency

                          Indicates that this is an emergency contact
                      pick_up:
                        type: boolean
                        description: |-
                          Pick Up

                          Indicates that this is a pick-up contact
                      parent_portal_access:
                        type: boolean
                        description: |-
                          Parent Portal Access

                          Gives this person parent portal access, regardless of legal custody settings
                      profile_update_permission:
                        type: boolean
                        description: |-
                          Profile Update Permission

                          When selected, allows parent/guardians to update regarding the related candidate/student on the Household Profile Update form
                      receive_general_correspondence:
                        type: boolean
                        description: |-
                          Receive General Correspondence

                          Indicates this person receives general correspondence. Used for any person who should receive general correspondence for this student, regardless of resident status.
                      receive_report_cards:
                        type: boolean
                        description: |-
                          Receive Report Cards

                          Indicates this person receives report-cards. Reserved for Non-Resident people who are related to the student.
                      receive_invoices:
                        type: boolean
                        description: |-
                          Receive Invoices

                          Axiom Student Billing Schools, this field is only used to indicate that a non-resident parent should see autopay requirements on their parent portal experience. However, for all other recipient management, recipients are managed at the Billing Account level for Axiom Student Billing Schools.
                      receive_other:
                        type: boolean
                        description: |-
                          Receive Other

                          Indicates this person receives other school-defined correspondence
                      medical_notification:
                        type: boolean
                        description: |-
                          Medical Notification

                          Indicates that this is a medical authorization contact
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - person_id
                      - related_person_id
                      - first_name
                      - middle_name
                      - last_name
                      - preferred_name
                      - relationship
                      - resident
                      - custody_status
                      - legal_custody
                      - emergency
                      - pick_up
                      - parent_portal_access
                      - profile_update_permission
                      - receive_general_correspondence
                      - receive_report_cards
                      - receive_invoices
                      - receive_other
                      - medical_notification
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - relationship
                              - role
                              - related_person_role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'relationships:read'
    parameters:
      - name: id
        in: path
        description: Person Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/people/{id}/relationships':
    get:
      tags:
        - 'Relationships: DEPRECATED'
      summary: 'List Relationships: DEPRECATED'
      operationId: list_relationships_deprecated
      parameters:
        - name: relationship
          in: query
          description: |-
            Relationship

            When background shading is available:

            Orange: Immediate family, e.g. Husband, Wife, Father, Mother, Brother, Sister, Sibling, Domestic Partner

            Yellow: Secondary family, e.g. Grandparents, Aunt/Uncle, Cousin

            Manilla: In-Laws, Exes, Step-child, Step-parent, deceased spouse

            Gray-Blue: &quot;Unspecified&quot; and &quot;Other&quot;

            White: All others
          required: false
          schema:
            type: integer
        - name: resident
          in: query
          description: |-
            Resident

            Indicates whether the related person lives in the same household
          required: false
          schema:
            type: boolean
        - name: legal_custody
          in: query
          description: |-
            Legal Custody

            Indicates that the parent has legal custody of the child
          required: false
          schema:
            type: boolean
        - name: emergency
          in: query
          description: |-
            Emergency

            Indicates that this is an emergency contact
          required: false
          schema:
            type: boolean
        - name: pick_up
          in: query
          description: |-
            Pick Up

            Indicates that this is a pick-up contact
          required: false
          schema:
            type: boolean
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        first_name:
                          type: string
                          description: First Name
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name
                          maxLength: 50
                        relationship:
                          type: integer
                          description: |-
                            Relationship

                            When background shading is available:

                            Orange: Immediate family, e.g. Husband, Wife, Father, Mother, Brother, Sister, Sibling, Domestic Partner

                            Yellow: Secondary family, e.g. Grandparents, Aunt/Uncle, Cousin

                            Manilla: In-Laws, Exes, Step-child, Step-parent, deceased spouse

                            Gray-Blue: &quot;Unspecified&quot; and &quot;Other&quot;

                            White: All others
                        resident:
                          type: boolean
                          description: |-
                            Resident

                            Indicates whether the related person lives in the same household
                          readOnly: true
                        custody_status:
                          type: string
                          description: API Custody Status
                          readOnly: true
                        legal_custody:
                          type: boolean
                          description: |-
                            Legal Custody

                            Indicates that the parent has legal custody of the child
                        emergency:
                          type: boolean
                          description: |-
                            Emergency

                            Indicates that this is an emergency contact
                        pick_up:
                          type: boolean
                          description: |-
                            Pick Up

                            Indicates that this is a pick-up contact
                        parent_portal_access:
                          type: boolean
                          description: |-
                            Parent Portal Access

                            Gives this person parent portal access, regardless of legal custody settings
                        profile_update_permission:
                          type: boolean
                          description: |-
                            Profile Update Permission

                            When selected, allows parent/guardians to update regarding the related candidate/student on the Household Profile Update form
                        receive_general_correspondence:
                          type: boolean
                          description: |-
                            Receive General Correspondence

                            Indicates this person receives general correspondence. Used for any person who should receive general correspondence for this student, regardless of resident status.
                        receive_report_cards:
                          type: boolean
                          description: |-
                            Receive Report Cards

                            Indicates this person receives report-cards. Reserved for Non-Resident people who are related to the student.
                        receive_invoices:
                          type: boolean
                          description: |-
                            Receive Invoices

                            Axiom Student Billing Schools, this field is only used to indicate that a non-resident parent should see autopay requirements on their parent portal experience. However, for all other recipient management, recipients are managed at the Billing Account level for Axiom Student Billing Schools.
                        receive_other:
                          type: boolean
                          description: |-
                            Receive Other

                            Indicates this person receives other school-defined correspondence
                        medical_notification:
                          type: boolean
                          description: |-
                            Medical Notification

                            Indicates that this is a medical authorization contact
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - first_name
                        - last_name
                        - relationship
                        - resident
                        - custody_status
                        - legal_custody
                        - emergency
                        - pick_up
                        - parent_portal_access
                        - profile_update_permission
                        - receive_general_correspondence
                        - receive_report_cards
                        - receive_invoices
                        - receive_other
                        - medical_notification
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - relationship
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'people.relationships:list'
    parameters:
      - name: id
        in: path
        description: Person
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/api_revision'
  '/report_card/students/{person_id}/academic_classifications':
    get:
      tags:
        - 'Report Cards: Academic Classifications'
      summary: 'List Report Cards: Academic Classifications'
      operationId: list_report_cards_academic_classifications
      parameters:
        - name: school_year
          in: query
          description: Year
          required: true
          schema:
            type: integer
        - name: grading_period
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person Academic Classification ID
                          readOnly: true
                        academic_classification:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Academic Classification Configuration ID
                            report_description:
                              type: string
                              description: |-
                                Report Card Description

                                The description field is the title for the academic classification that will appear on the school-configurable academic document.
                              maxLength: 200
                            description:
                              type: string
                              description: |-
                                Description

                                The description field is a title for the Academic Classification configuration record. It is helpful to designate a description that defines the general category of the classification, e.g. &quot;Honor Roll&quot;. 



                                NOTE: Academic Classification configuration records provide a hierarchy for structuring multiple levels of a given category, e.g. an &quot;Honor Roll&quot; academic classification configuration may contain levels like &quot;Honors&quot;, &quot;High Honors&quot;, and &quot;Highest Honors&quot;, each with independent criteria logic.
                              maxLength: 200
                            sort_key:
                              type: integer
                              description: |-
                                Sort Key

                                The sort key field defines how the academic classification record will be ordered among all academic classification records that exist.
                          required:
                            - id
                            - report_description
                            - description
                            - sort_key
                        school_year:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Year
                              readOnly: true
                            abbreviation:
                              type: string
                              description: School Year
                              maxLength: 9
                            description:
                              type: string
                              description: School Year Description Long
                              maxLength: 9
                            sort_key:
                              type: integer
                              description: Sort Key
                          required:
                            - id
                            - abbreviation
                            - description
                            - sort_key
                        grading_period:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 20
                            sort_key:
                              type: integer
                              description: Sort Key
                          required:
                            - id
                            - description
                            - abbreviation
                            - sort_key
                        classification_level:
                          type: integer
                          description: Actual Classification Level
                          readOnly: true
                      required:
                        - id
                        - academic_classification
                        - school_year
                        - grading_period
                        - classification_level
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - classification_level
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'report_card.students.academic_classifications:list'
    parameters:
      - name: person_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/report_card/students/{person_id}/academic_classifications/{id}':
    get:
      tags:
        - 'Report Cards: Academic Classifications'
      summary: 'Read Report Cards: Academic Classifications'
      operationId: read_report_cards_academic_classifications
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person Academic Classification ID
                        readOnly: true
                      academic_classification:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Academic Classification Configuration ID
                          report_description:
                            type: string
                            description: |-
                              Report Card Description

                              The description field is the title for the academic classification that will appear on the school-configurable academic document.
                            maxLength: 200
                          description:
                            type: string
                            description: |-
                              Description

                              The description field is a title for the Academic Classification configuration record. It is helpful to designate a description that defines the general category of the classification, e.g. &quot;Honor Roll&quot;. 



                              NOTE: Academic Classification configuration records provide a hierarchy for structuring multiple levels of a given category, e.g. an &quot;Honor Roll&quot; academic classification configuration may contain levels like &quot;Honors&quot;, &quot;High Honors&quot;, and &quot;Highest Honors&quot;, each with independent criteria logic.
                            maxLength: 200
                          sort_key:
                            type: integer
                            description: |-
                              Sort Key

                              The sort key field defines how the academic classification record will be ordered among all academic classification records that exist.
                        required:
                          - id
                          - report_description
                          - description
                          - sort_key
                      school_year:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Year
                            readOnly: true
                          abbreviation:
                            type: string
                            description: School Year
                            maxLength: 9
                          description:
                            type: string
                            description: School Year Description Long
                            maxLength: 9
                          sort_key:
                            type: integer
                            description: Sort Key
                        required:
                          - id
                          - abbreviation
                          - description
                          - sort_key
                      grading_period:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 20
                          sort_key:
                            type: integer
                            description: Sort Key
                        required:
                          - id
                          - description
                          - abbreviation
                          - sort_key
                      classification_level:
                        type: integer
                        description: Actual Classification Level
                        readOnly: true
                    required:
                      - id
                      - academic_classification
                      - school_year
                      - grading_period
                      - classification_level
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - classification_level
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'report_card.students.academic_classifications:read'
    parameters:
      - name: id
        in: path
        description: Person Academic Classification ID
        required: true
        schema:
          type: integer
      - name: person_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/report_card/enrollments/{enrollment_id}/attendance':
    get:
      tags:
        - 'Report Cards: Class Attendance'
      summary: 'List Report Cards: Class Attendance'
      operationId: list_report_cards_class_attendance
      parameters:
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: grading_period
          in: query
          description: Grading Period ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        enrollment_id:
                          type: integer
                          description: Class Person ID
                          readOnly: true
                        school_year:
                          type: integer
                          description: School Year
                        person_id:
                          type: integer
                          description: Person ID
                        class_id:
                          type: integer
                          description: Class ID
                        grading_period_id:
                          type: integer
                          description: Grading Period ID
                        absences_all:
                          type: number
                          description: Absences All
                        absences_excused:
                          type: number
                          description: Absences Excused
                        absences_unexcused:
                          type: number
                          description: Absences Unexcused
                        tardies_all:
                          type: number
                          description: Tardies All
                        tardies_excused:
                          type: number
                          description: Tardies Excused
                        tardies_unexcused:
                          type: number
                          description: Tardies Unexcused
                        dismissals_all:
                          type: number
                          description: Dismissals All
                        dismissals_excused:
                          type: number
                          description: Dismissals Excused
                        dismissals_unexcused:
                          type: number
                          description: Dismissals Unexcused
                      required:
                        - enrollment_id
                        - school_year
                        - person_id
                        - class_id
                        - grading_period_id
                        - absences_all
                        - absences_excused
                        - absences_unexcused
                        - tardies_all
                        - tardies_excused
                        - tardies_unexcused
                        - dismissals_all
                        - dismissals_excused
                        - dismissals_unexcused
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - school_year
                              - grading_period_id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'report_card.enrollments.attendance:list'
    parameters:
      - name: enrollment_id
        in: path
        description: Class Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/report_card/classes/{internal_class_id}/curriculum':
    get:
      tags:
        - 'Report Cards: Class Curriculum'
      summary: 'List Report Cards: Class Curriculum'
      operationId: list_report_cards_class_curriculum
      parameters:
        - name: rubric_id
          in: query
          description: Rubric ID
          required: false
          schema:
            type: integer
        - name: rubric_category_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: enrollment_level_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Class Curriculum ID
                          readOnly: true
                        grading_period:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 20
                          required:
                            - id
                            - description
                            - abbreviation
                        rubric:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Rubric ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 200
                          required:
                            - id
                            - description
                        rubric_category:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Rubric Category Description
                              maxLength: 100
                          required:
                            - id
                            - description
                        enrollment_level:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 20
                          required:
                            - id
                            - description
                        curriculum:
                          type: string
                          description: Curriculum
                      required:
                        - id
                        - grading_period
                        - rubric
                        - rubric_category
                        - enrollment_level
                        - curriculum
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'report_card.classes.curriculum:list'
    parameters:
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/report_card/classes/{internal_class_id}/curriculum/{id}':
    get:
      tags:
        - 'Report Cards: Class Curriculum'
      summary: 'Read Report Cards: Class Curriculum'
      operationId: read_report_cards_class_curriculum
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Class Curriculum ID
                        readOnly: true
                      grading_period:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 20
                        required:
                          - id
                          - description
                          - abbreviation
                      rubric:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Rubric ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 200
                        required:
                          - id
                          - description
                      rubric_category:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Rubric Category Description
                            maxLength: 100
                        required:
                          - id
                          - description
                      enrollment_level:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 20
                        required:
                          - id
                          - description
                      curriculum:
                        type: string
                        description: Curriculum
                    required:
                      - id
                      - grading_period
                      - rubric
                      - rubric_category
                      - enrollment_level
                      - curriculum
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'report_card.classes.curriculum:read'
    parameters:
      - name: id
        in: path
        description: Class Curriculum ID
        required: true
        schema:
          type: integer
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/report_card/classes/{internal_class_id}/teachers':
    get:
      tags:
        - 'Report Cards: Class Teachers'
      summary: 'List Report Cards: Class Teachers'
      operationId: list_report_cards_class_teachers
      parameters:
        - name: role
          in: query
          description: Role
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Class Permission ID
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        name_prefix:
                          type: integer
                          description: Name Prefix
                        first_name:
                          type: string
                          description: First Name
                          maxLength: 50
                        nick_name:
                          type: string
                          description: Preferred Name
                          maxLength: 50
                        middle_name:
                          type: string
                          description: Middle Name
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name
                          maxLength: 50
                        name_suffix:
                          type: integer
                          description: Name Suffix
                        role:
                          type: integer
                          description: Role
                        title:
                          type: string
                          description: Title
                          maxLength: 255
                      required:
                        - id
                        - person_id
                        - name_prefix
                        - first_name
                        - nick_name
                        - middle_name
                        - last_name
                        - name_suffix
                        - role
                        - title
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - name_prefix
                              - name_suffix
                              - role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'report_card.classes.teachers:list'
    parameters:
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/report_card/classes/{internal_class_id}/teachers/{id}':
    get:
      tags:
        - 'Report Cards: Class Teachers'
      summary: 'Read Report Cards: Class Teachers'
      operationId: read_report_cards_class_teachers
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Class Permission ID
                        readOnly: true
                      person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      name_prefix:
                        type: integer
                        description: Name Prefix
                      first_name:
                        type: string
                        description: First Name
                        maxLength: 50
                      nick_name:
                        type: string
                        description: Preferred Name
                        maxLength: 50
                      middle_name:
                        type: string
                        description: Middle Name
                        maxLength: 50
                      last_name:
                        type: string
                        description: Last Name
                        maxLength: 50
                      name_suffix:
                        type: integer
                        description: Name Suffix
                      role:
                        type: integer
                        description: Role
                      title:
                        type: string
                        description: Title
                        maxLength: 255
                    required:
                      - id
                      - person_id
                      - name_prefix
                      - first_name
                      - nick_name
                      - middle_name
                      - last_name
                      - name_suffix
                      - role
                      - title
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - name_prefix
                              - name_suffix
                              - role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'report_card.classes.teachers:read'
    parameters:
      - name: id
        in: path
        description: Class Permission ID
        required: true
        schema:
          type: integer
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/report_cards/students/{person_id}/attendance':
    get:
      tags:
        - 'Report Cards: Daily Attendance'
      summary: 'List Report Cards: Daily Attendance'
      operationId: list_report_cards_daily_attendance
      parameters:
        - name: grading_period_id
          in: query
          description: Grading Period ID
          required: false
          schema:
            type: integer
        - name: school_year
          in: query
          description: School Year
          required: true
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        grading_period_id:
                          type: integer
                          description: Grading Period ID
                        school_year:
                          type: integer
                          description: School Year
                        absences_all:
                          type: number
                          description: Absences All
                        absences_excused:
                          type: number
                          description: Absences Excused
                        absences_unexcused:
                          type: number
                          description: Absences Unexcused
                        tardies_all:
                          type: number
                          description: Tardies All
                        tardies_excused:
                          type: number
                          description: Tardies Excused
                        tardies_unexcused:
                          type: number
                          description: Tardies Unexcused
                        dismissals_all:
                          type: number
                          description: Dismissals All
                        dismissals_excused:
                          type: number
                          description: Dismissals Excused
                        dismissals_unexcused:
                          type: number
                          description: Dismissals Unexcused
                        days_enrolled:
                          type: number
                          description: Days Enrolled
                        days_attended:
                          type: number
                          description: Days Attended
                      required:
                        - person_id
                        - grading_period_id
                        - school_year
                        - absences_all
                        - absences_excused
                        - absences_unexcused
                        - tardies_all
                        - tardies_excused
                        - tardies_unexcused
                        - dismissals_all
                        - dismissals_excused
                        - dismissals_unexcused
                        - days_enrolled
                        - days_attended
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'report_cards.students.attendance:list'
    parameters:
      - name: person_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/report_card/documents/{id}':
    get:
      tags:
        - 'Report Cards: Documents'
      summary: 'Read Report Cards: Documents'
      operationId: read_report_cards_documents
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person Academic Document ID
                        readOnly: true
                      academic_document:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Academic Document ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 200
                        required:
                          - id
                          - description
                      school_year:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Year
                            readOnly: true
                          abbreviation:
                            type: string
                            description: School Year
                            maxLength: 9
                          description:
                            type: string
                            description: School Year Description Long
                            maxLength: 9
                        required:
                          - id
                          - abbreviation
                          - description
                      grading_period:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 20
                        required:
                          - id
                          - description
                          - abbreviation
                      person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      name_prefix:
                        type: integer
                        description: Name Prefix
                      first_name:
                        type: string
                        description: First Name
                        maxLength: 50
                      nick_name:
                        type: string
                        description: Preferred Name
                        maxLength: 50
                      middle_name:
                        type: string
                        description: Middle Name
                        maxLength: 50
                      last_name:
                        type: string
                        description: Last Name
                        maxLength: 50
                      name_suffix:
                        type: integer
                        description: Name Suffix
                      grade_level:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Grade Level
                            maxLength: 40
                          long_description:
                            type: string
                            description: Long Description
                            maxLength: 40
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 10
                        required:
                          - id
                          - description
                          - long_description
                          - abbreviation
                      school_level:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 50
                        required:
                          - id
                          - description
                          - abreviation
                      date_of_birth:
                        type: string
                        format: date
                        description: |-
                          Birthday

                          Birthday in MMM DD YYYY format
                      graduation_year:
                        type: integer
                        description: Graduation Year
                    required:
                      - id
                      - academic_document
                      - school_year
                      - grading_period
                      - person_id
                      - name_prefix
                      - first_name
                      - nick_name
                      - middle_name
                      - last_name
                      - name_suffix
                      - grade_level
                      - school_level
                      - date_of_birth
                      - graduation_year
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - name_prefix
                              - name_suffix
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'report_card.documents:read'
    parameters:
      - name: id
        in: path
        description: Person Academic Document ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /report_card/documents:
    get:
      tags:
        - 'Report Cards: Documents'
      summary: 'List Report Cards: Documents'
      operationId: list_report_cards_documents
      parameters:
        - name: academic_document_id
          in: query
          description: Academic Document ID
          required: false
          schema:
            type: integer
        - name: grading_period_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: school_year_id
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person Academic Document ID
                          readOnly: true
                        academic_document:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Academic Document ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 200
                          required:
                            - id
                            - description
                        school_year:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Year
                              readOnly: true
                            abbreviation:
                              type: string
                              description: School Year
                              maxLength: 9
                            description:
                              type: string
                              description: School Year Description Long
                              maxLength: 9
                          required:
                            - id
                            - abbreviation
                            - description
                        grading_period:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 20
                          required:
                            - id
                            - description
                            - abbreviation
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        name_prefix:
                          type: integer
                          description: Name Prefix
                        first_name:
                          type: string
                          description: First Name
                          maxLength: 50
                        nick_name:
                          type: string
                          description: Preferred Name
                          maxLength: 50
                        middle_name:
                          type: string
                          description: Middle Name
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name
                          maxLength: 50
                        name_suffix:
                          type: integer
                          description: Name Suffix
                        grade_level:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Grade Level
                              maxLength: 40
                            long_description:
                              type: string
                              description: Long Description
                              maxLength: 40
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 10
                          required:
                            - id
                            - description
                            - long_description
                            - abbreviation
                        school_level:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 50
                          required:
                            - id
                            - description
                            - abreviation
                        date_of_birth:
                          type: string
                          format: date
                          description: |-
                            Birthday

                            Birthday in MMM DD YYYY format
                        graduation_year:
                          type: integer
                          description: Graduation Year
                      required:
                        - id
                        - academic_document
                        - school_year
                        - grading_period
                        - person_id
                        - name_prefix
                        - first_name
                        - nick_name
                        - middle_name
                        - last_name
                        - name_suffix
                        - grade_level
                        - school_level
                        - date_of_birth
                        - graduation_year
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - name_prefix
                              - name_suffix
                              - school_year.id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'report_card.documents:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  /report_card/enrollments:
    get:
      tags:
        - 'Report Cards: Enrollments'
      summary: 'List Report Cards: Enrollments'
      operationId: list_report_cards_enrollments
      parameters:
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: course_classification
          in: query
          description: Course Type
          required: false
          schema:
            type: integer
        - name: course_type
          in: query
          description: Course Type
          required: false
          schema:
            type: integer
        - name: student_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Enrollment ID
                          readOnly: true
                        class:
                          type: object
                          properties:
                            internal_class_id:
                              type: integer
                              description: Internal Class ID
                              readOnly: true
                            class_id:
                              type: string
                              description: |-
                                Class ID

                                Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                                Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                              maxLength: 20
                            description:
                              type: string
                              description: Description
                              maxLength: 80
                            school_year:
                              type: integer
                              description: School Year
                              readOnly: true
                            numeric_weight:
                              type: number
                              description: |-
                                Numeric Weight

                                Use this to &quot;weight&quot; different classes more than others for the total average grade fields on the Student grades tab. (Note: this is mainly used for Lower Schools because Middle and High Schools use the more traditional term credit hours/gpa method for calculating a &quot;weighted average&quot;)
                            grading_method:
                              type: integer
                              description: |-
                                Grading Method

                                * Not Graded = No term grades of any sort will be given.

                                * Numeric = Standard setting; includes each of the other grading options (can include posted, qualitative, pass/fail, and comments). 

                                * Qualitative = Only rubric criteria &amp; criteria comments are used. 

                                * Pass/Fail = Only Status grades &amp; comments are used. 

                                * Comments Only = Only Narrative comments are used.
                            grading_system:
                              type: integer
                              description: Grading System
                            term_credit_hours:
                              type: number
                              description: |-
                                Term Credit Hours

                                The number of credit hours awarded per term.  Used to calculate GPA as well as determine credits earned values.
                            total_credits:
                              type: number
                              description: Total Credits
                              readOnly: true
                            status:
                              type: integer
                              description: |-
                                Status

                                Status of the class (active, future, etc.)
                            total_classroom_hours:
                              type: number
                              description: |-
                                Total Classroom Hours

                                The total number of hours this class will meet over the year
                              readOnly: true
                            begin_date:
                              type: string
                              format: date
                              description: Begin Date
                            end_date:
                              type: string
                              format: date
                              description: End Date
                          required:
                            - internal_class_id
                            - class_id
                            - description
                            - school_year
                            - numeric_weight
                            - grading_method
                            - grading_system
                            - term_credit_hours
                            - total_credits
                            - status
                            - total_classroom_hours
                            - begin_date
                            - end_date
                        primary_teacher:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Teacher ID
                            name_prefix:
                              type: string
                              description: Description
                              readOnly: true
                            first_name:
                              type: string
                              description: First Name
                              maxLength: 50
                            middle_name:
                              type: string
                              description: Middle Name
                              maxLength: 50
                            last_name:
                              type: string
                              description: Last Name
                              maxLength: 50
                            name_suffix:
                              type: string
                              description: Description
                              readOnly: true
                            preferred_name:
                              type: string
                              description: Preferred Name
                              maxLength: 50
                          required:
                            - id
                            - name_prefix
                            - first_name
                            - middle_name
                            - last_name
                            - name_suffix
                            - preferred_name
                        course:
                          type: object
                          properties:
                            internal_course_id:
                              type: integer
                              description: Internal Course ID
                              readOnly: true
                            course_id:
                              type: string
                              description: Course ID
                              maxLength: 15
                            name:
                              type: string
                              description: Course Name
                              maxLength: 100
                            catalog_title:
                              type: string
                              description: Catalog Title
                              maxLength: 100
                            catalog_description:
                              type: string
                              description: Catalog Description
                              maxLength: 8000
                            course_code:
                              type: string
                              description: Course Code
                              maxLength: 15
                            course_type:
                              type: integer
                              description: Course Type
                            sort_key:
                              type: integer
                              description: Sort Key
                          required:
                            - internal_course_id
                            - course_id
                            - name
                            - catalog_title
                            - catalog_description
                            - course_code
                            - course_type
                            - sort_key
                        subject:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 5
                            sort_key:
                              type: string
                              description: Sort Key
                          required:
                            - id
                            - description
                            - abbreviation
                            - sort_key
                        late_date_enrolled:
                          type: string
                          format: date
                          description: |-
                            Late Date Enrolled

                            The date the student enrolled in the class
                        date_withdrawn:
                          type: string
                          format: date
                          description: |-
                            Date Withdrawn

                            The date the student withdrew from the class
                        enrollment_level:
                          type: integer
                          description: |-
                            Enrollment Level

                            The enrollment level is used when some students are taking the class for a different level of credit than other students. If all students are taking the course for the same level of credit, setting the enrollment level is NOT necessary. If the student&#39;s enrollment level should influence GPA, please review &quot;override grade conversion scale&quot; on the student&#39;s class enrollment record.
                      required:
                        - id
                        - class
                        - primary_teacher
                        - course
                        - subject
                        - late_date_enrolled
                        - date_withdrawn
                        - enrollment_level
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - class.school_year
                              - class.grading_method
                              - class.grading_system
                              - class.status
                              - course.course_type
                              - enrollment_level
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'report_card.enrollments:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/report_card/enrollments/{id}':
    get:
      tags:
        - 'Report Cards: Enrollments'
      summary: 'Read Report Cards: Enrollments'
      operationId: read_report_cards_enrollments
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Enrollment ID
                        readOnly: true
                      class:
                        type: object
                        properties:
                          internal_class_id:
                            type: integer
                            description: Internal Class ID
                            readOnly: true
                          class_id:
                            type: string
                            description: |-
                              Class ID

                              Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                              Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                            maxLength: 20
                          description:
                            type: string
                            description: Description
                            maxLength: 80
                          school_year:
                            type: integer
                            description: School Year
                            readOnly: true
                          numeric_weight:
                            type: number
                            description: |-
                              Numeric Weight

                              Use this to &quot;weight&quot; different classes more than others for the total average grade fields on the Student grades tab. (Note: this is mainly used for Lower Schools because Middle and High Schools use the more traditional term credit hours/gpa method for calculating a &quot;weighted average&quot;)
                          grading_method:
                            type: integer
                            description: |-
                              Grading Method

                              * Not Graded = No term grades of any sort will be given.

                              * Numeric = Standard setting; includes each of the other grading options (can include posted, qualitative, pass/fail, and comments). 

                              * Qualitative = Only rubric criteria &amp; criteria comments are used. 

                              * Pass/Fail = Only Status grades &amp; comments are used. 

                              * Comments Only = Only Narrative comments are used.
                          grading_system:
                            type: integer
                            description: Grading System
                          term_credit_hours:
                            type: number
                            description: |-
                              Term Credit Hours

                              The number of credit hours awarded per term.  Used to calculate GPA as well as determine credits earned values.
                          total_credits:
                            type: number
                            description: Total Credits
                            readOnly: true
                          status:
                            type: integer
                            description: |-
                              Status

                              Status of the class (active, future, etc.)
                          total_classroom_hours:
                            type: number
                            description: |-
                              Total Classroom Hours

                              The total number of hours this class will meet over the year
                            readOnly: true
                          begin_date:
                            type: string
                            format: date
                            description: Begin Date
                          end_date:
                            type: string
                            format: date
                            description: End Date
                        required:
                          - internal_class_id
                          - class_id
                          - description
                          - school_year
                          - numeric_weight
                          - grading_method
                          - grading_system
                          - term_credit_hours
                          - total_credits
                          - status
                          - total_classroom_hours
                          - begin_date
                          - end_date
                      primary_teacher:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Teacher ID
                          name_prefix:
                            type: string
                            description: Description
                            readOnly: true
                          first_name:
                            type: string
                            description: First Name
                            maxLength: 50
                          middle_name:
                            type: string
                            description: Middle Name
                            maxLength: 50
                          last_name:
                            type: string
                            description: Last Name
                            maxLength: 50
                          name_suffix:
                            type: string
                            description: Description
                            readOnly: true
                          preferred_name:
                            type: string
                            description: Preferred Name
                            maxLength: 50
                        required:
                          - id
                          - name_prefix
                          - first_name
                          - middle_name
                          - last_name
                          - name_suffix
                          - preferred_name
                      course:
                        type: object
                        properties:
                          internal_course_id:
                            type: integer
                            description: Internal Course ID
                            readOnly: true
                          course_id:
                            type: string
                            description: Course ID
                            maxLength: 15
                          name:
                            type: string
                            description: Course Name
                            maxLength: 100
                          catalog_title:
                            type: string
                            description: Catalog Title
                            maxLength: 100
                          catalog_description:
                            type: string
                            description: Catalog Description
                            maxLength: 8000
                          course_code:
                            type: string
                            description: Course Code
                            maxLength: 15
                          course_type:
                            type: integer
                            description: Course Type
                          sort_key:
                            type: integer
                            description: Sort Key
                        required:
                          - internal_course_id
                          - course_id
                          - name
                          - catalog_title
                          - catalog_description
                          - course_code
                          - course_type
                          - sort_key
                      subject:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 5
                          sort_key:
                            type: string
                            description: Sort Key
                        required:
                          - id
                          - description
                          - abbreviation
                          - sort_key
                      late_date_enrolled:
                        type: string
                        format: date
                        description: |-
                          Late Date Enrolled

                          The date the student enrolled in the class
                      date_withdrawn:
                        type: string
                        format: date
                        description: |-
                          Date Withdrawn

                          The date the student withdrew from the class
                      enrollment_level:
                        type: integer
                        description: |-
                          Enrollment Level

                          The enrollment level is used when some students are taking the class for a different level of credit than other students. If all students are taking the course for the same level of credit, setting the enrollment level is NOT necessary. If the student&#39;s enrollment level should influence GPA, please review &quot;override grade conversion scale&quot; on the student&#39;s class enrollment record.
                    required:
                      - id
                      - class
                      - primary_teacher
                      - course
                      - subject
                      - late_date_enrolled
                      - date_withdrawn
                      - enrollment_level
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - class.school_year
                              - class.grading_method
                              - class.grading_system
                              - class.status
                              - course.course_type
                              - enrollment_level
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'report_card.enrollments:read'
    parameters:
      - name: id
        in: path
        description: Enrollment ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/report_card/students/{person_id}/gpas':
    get:
      tags:
        - 'Report Cards: GPAs'
      summary: 'List Report Cards: GPAs'
      operationId: list_report_cards_gpas
      parameters:
        - name: school_year
          in: query
          description: Year
          required: true
          schema:
            type: integer
        - name: grading_period
          in: query
          description: ID
          required: true
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person GPA ID
                          readOnly: true
                        gpa:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: |-
                                Description

                                Descriptive name for this GPA, also serves as the calculated field name.
                              maxLength: 100
                            type:
                              type: integer
                              description: GPA Type
                          required:
                            - id
                            - description
                            - type
                        school_year:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Year
                              readOnly: true
                            abbreviation:
                              type: string
                              description: School Year
                              maxLength: 9
                            description:
                              type: string
                              description: School Year Description Long
                              maxLength: 9
                            sort_key:
                              type: integer
                              description: Sort Key
                          required:
                            - id
                            - abbreviation
                            - description
                            - sort_key
                        grading_period:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 20
                            sort_key:
                              type: integer
                              description: Sort Key
                          required:
                            - id
                            - description
                            - abbreviation
                            - sort_key
                        value:
                          type: number
                          description: Actual GPA
                          readOnly: true
                      required:
                        - id
                        - gpa
                        - school_year
                        - grading_period
                        - value
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - gpa.type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'report_card.students.gpas:list'
    parameters:
      - name: person_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/report_card/students/{person_id}/gpas/{id}':
    get:
      tags:
        - 'Report Cards: GPAs'
      summary: 'Read Report Cards: GPAs'
      operationId: read_report_cards_gpas
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person GPA ID
                        readOnly: true
                      gpa:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: |-
                              Description

                              Descriptive name for this GPA, also serves as the calculated field name.
                            maxLength: 100
                          type:
                            type: integer
                            description: GPA Type
                        required:
                          - id
                          - description
                          - type
                      school_year:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Year
                            readOnly: true
                          abbreviation:
                            type: string
                            description: School Year
                            maxLength: 9
                          description:
                            type: string
                            description: School Year Description Long
                            maxLength: 9
                          sort_key:
                            type: integer
                            description: Sort Key
                        required:
                          - id
                          - abbreviation
                          - description
                          - sort_key
                      grading_period:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 20
                          sort_key:
                            type: integer
                            description: Sort Key
                        required:
                          - id
                          - description
                          - abbreviation
                          - sort_key
                      value:
                        type: number
                        description: Actual GPA
                        readOnly: true
                    required:
                      - id
                      - gpa
                      - school_year
                      - grading_period
                      - value
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - gpa.type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'report_card.students.gpas:read'
    parameters:
      - name: id
        in: path
        description: Person GPA ID
        required: true
        schema:
          type: integer
      - name: person_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/report_card/enrollments/{enrollment_id}/numeric_grades':
    get:
      tags:
        - 'Report Cards: Numeric Grades'
      summary: 'List Report Cards: Numeric Grades'
      operationId: list_report_cards_numeric_grades
      parameters:
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Grade ID
                          readOnly: true
                        grading_period:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 20
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                          required:
                            - id
                            - abbreviation
                            - description
                        assignment_posted_grade:
                          type: number
                          description: Assignment Posted Grade
                        assignment_posted_letter_grade:
                          type: string
                          description: Assignment Posted Grade (Letter)
                          readOnly: true
                        exam_grade:
                          type: number
                          description: Exam Grade
                        posted_grade:
                          type: number
                          description: |-
                            Grade: Posted

                            The official posted grade that appears on the report card
                        posted_letter_grade:
                          type: string
                          description: |-
                            Letter Grade

                            The letter grade equivalent of the posted numeric grade (Grade: P); if grades have not been posted, this will be the letter grade equivalent of the calculated grade (Grade: C)
                          readOnly: true
                        status:
                          type: integer
                          description: |-
                            Status

                            The status for this report-card record
                        other_grade_1:
                          type: object
                          properties:
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 2
                            description:
                              type: string
                              description: Description
                              maxLength: 20
                          required:
                            - abbreviation
                            - description
                        other_grade_2:
                          type: object
                          properties:
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 2
                            description:
                              type: string
                              description: Description
                              maxLength: 20
                          required:
                            - abbreviation
                            - description
                        comments:
                          type: string
                          description: Comments
                      required:
                        - id
                        - grading_period
                        - assignment_posted_grade
                        - assignment_posted_letter_grade
                        - exam_grade
                        - posted_grade
                        - posted_letter_grade
                        - status
                        - other_grade_1
                        - other_grade_2
                        - comments
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'report_card.enrollments.numeric_grades:list'
    parameters:
      - name: enrollment_id
        in: path
        description: Enrollment ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/report_card/enrollments/{enrollment_id}/numeric_grades/{id}':
    get:
      tags:
        - 'Report Cards: Numeric Grades'
      summary: 'Read Report Cards: Numeric Grades'
      operationId: read_report_cards_numeric_grades
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Grade ID
                        readOnly: true
                      grading_period:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 20
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                        required:
                          - id
                          - abbreviation
                          - description
                      assignment_posted_grade:
                        type: number
                        description: Assignment Posted Grade
                      assignment_posted_letter_grade:
                        type: string
                        description: Assignment Posted Grade (Letter)
                        readOnly: true
                      exam_grade:
                        type: number
                        description: Exam Grade
                      posted_grade:
                        type: number
                        description: |-
                          Grade: Posted

                          The official posted grade that appears on the report card
                      posted_letter_grade:
                        type: string
                        description: |-
                          Letter Grade

                          The letter grade equivalent of the posted numeric grade (Grade: P); if grades have not been posted, this will be the letter grade equivalent of the calculated grade (Grade: C)
                        readOnly: true
                      status:
                        type: integer
                        description: |-
                          Status

                          The status for this report-card record
                      other_grade_1:
                        type: object
                        properties:
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 2
                          description:
                            type: string
                            description: Description
                            maxLength: 20
                        required:
                          - abbreviation
                          - description
                      other_grade_2:
                        type: object
                        properties:
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 2
                          description:
                            type: string
                            description: Description
                            maxLength: 20
                        required:
                          - abbreviation
                          - description
                      comments:
                        type: string
                        description: Comments
                    required:
                      - id
                      - grading_period
                      - assignment_posted_grade
                      - assignment_posted_letter_grade
                      - exam_grade
                      - posted_grade
                      - posted_letter_grade
                      - status
                      - other_grade_1
                      - other_grade_2
                      - comments
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'report_card.enrollments.numeric_grades:read'
    parameters:
      - name: id
        in: path
        description: Grade ID
        required: true
        schema:
          type: integer
      - name: enrollment_id
        in: path
        description: Enrollment ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/report_card/enrollments/{enrollment_id}/qualitative_grades':
    get:
      tags:
        - 'Report Cards: Qualitative Grades'
      summary: 'List Report Cards: Qualitative Grades'
      operationId: list_report_cards_qualitative_grades
      parameters:
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Grade ID
                          readOnly: true
                        grading_period:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 20
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                          required:
                            - id
                            - abbreviation
                            - description
                        rubric_criteria:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Rubric Criteria ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 800
                            report_description:
                              type: string
                              description: |-
                                Report Card Description

                                Override rubric criteria description for use on report cards
                              maxLength: 1000
                            expected_proficiency_level:
                              type: string
                              description: Expected Proficiency Level
                              readOnly: true
                            maximum_proficiency_level:
                              type: string
                              description: Maximum Proficiency Level
                              readOnly: true
                            type:
                              type: integer
                              description: |-
                                Type

                                Used to distinguish rubric criteria scale (normal), text (comments), or integer (numeric) grades entry options.
                            sort_key:
                              type: integer
                              description: Sort Key
                          required:
                            - id
                            - description
                            - report_description
                            - expected_proficiency_level
                            - maximum_proficiency_level
                            - type
                            - sort_key
                        rubric:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Rubric ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 200
                            report_description:
                              type: string
                              description: |-
                                Report Card Description

                                Override rubric description to be used on report cards
                              maxLength: 500
                            sort_key:
                              type: integer
                              description: Sort Key
                          required:
                            - id
                            - description
                            - report_description
                            - sort_key
                        rubric_category:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Rubric Category Description
                              maxLength: 100
                            report_description:
                              type: string
                              description: Report Card Description
                              maxLength: 250
                            sort_key:
                              type: integer
                              description: Sort Key
                          required:
                            - id
                            - description
                            - report_description
                            - sort_key
                        proficiency_level:
                          type: object
                          properties:
                            abbreviation:
                              type: string
                              description: Proficiency Level
                              maxLength: 35
                            description:
                              type: string
                              description: Proficiency Level (Long)
                              readOnly: true
                          required:
                            - abbreviation
                            - description
                        comments:
                          type: string
                          description: Comments
                        scale:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              maxLength: 200
                          required:
                            - id
                            - description
                      required:
                        - id
                        - grading_period
                        - rubric_criteria
                        - rubric
                        - rubric_category
                        - proficiency_level
                        - comments
                        - scale
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - rubric_criteria.type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'report_card.enrollments.qualitative_grades:list'
    parameters:
      - name: enrollment_id
        in: path
        description: Enrollment ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/report_card/enrollments/{enrollment_id}/qualitative_grades/{id}':
    get:
      tags:
        - 'Report Cards: Qualitative Grades'
      summary: 'Read Report Cards: Qualitative Grades'
      operationId: read_report_cards_qualitative_grades
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Grade ID
                        readOnly: true
                      grading_period:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 20
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                        required:
                          - id
                          - abbreviation
                          - description
                      rubric_criteria:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Rubric Criteria ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 800
                          report_description:
                            type: string
                            description: |-
                              Report Card Description

                              Override rubric criteria description for use on report cards
                            maxLength: 1000
                          expected_proficiency_level:
                            type: string
                            description: Expected Proficiency Level
                            readOnly: true
                          maximum_proficiency_level:
                            type: string
                            description: Maximum Proficiency Level
                            readOnly: true
                          type:
                            type: integer
                            description: |-
                              Type

                              Used to distinguish rubric criteria scale (normal), text (comments), or integer (numeric) grades entry options.
                          sort_key:
                            type: integer
                            description: Sort Key
                        required:
                          - id
                          - description
                          - report_description
                          - expected_proficiency_level
                          - maximum_proficiency_level
                          - type
                          - sort_key
                      rubric:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Rubric ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 200
                          report_description:
                            type: string
                            description: |-
                              Report Card Description

                              Override rubric description to be used on report cards
                            maxLength: 500
                          sort_key:
                            type: integer
                            description: Sort Key
                        required:
                          - id
                          - description
                          - report_description
                          - sort_key
                      rubric_category:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Rubric Category Description
                            maxLength: 100
                          report_description:
                            type: string
                            description: Report Card Description
                            maxLength: 250
                          sort_key:
                            type: integer
                            description: Sort Key
                        required:
                          - id
                          - description
                          - report_description
                          - sort_key
                      proficiency_level:
                        type: object
                        properties:
                          abbreviation:
                            type: string
                            description: Proficiency Level
                            maxLength: 35
                          description:
                            type: string
                            description: Proficiency Level (Long)
                            readOnly: true
                        required:
                          - abbreviation
                          - description
                      comments:
                        type: string
                        description: Comments
                      scale:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            maxLength: 200
                        required:
                          - id
                          - description
                    required:
                      - id
                      - grading_period
                      - rubric_criteria
                      - rubric
                      - rubric_category
                      - proficiency_level
                      - comments
                      - scale
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - rubric_criteria.type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'report_card.enrollments.qualitative_grades:read'
    parameters:
      - name: id
        in: path
        description: Grade ID
        required: true
        schema:
          type: integer
      - name: enrollment_id
        in: path
        description: Enrollment ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /resource_reservations/reservations:
    get:
      tags:
        - 'Resource Reservations: Reservations'
      summary: 'List Resource Reservations: Reservations'
      operationId: list_resource_reservations_reservations
      parameters:
        - name: event_id
          in: query
          description: Event ID
          required: false
          schema:
            type: integer
        - name: resource_id
          in: query
          description: Resource ID
          required: false
          schema:
            type: integer
        - name: resource_category
          in: query
          description: Resource Category
          required: false
          schema:
            type: integer
        - name: requesting_person_id
          in: query
          description: Requesting Person ID
          required: false
          schema:
            type: string
        - name: approval_status
          in: query
          description: Approval Status
          required: false
          schema:
            type: integer
        - name: event_type
          in: query
          description: Event Type
          required: false
          schema:
            type: integer
        - name: on_or_after_start_date
          in: query
          description: |-
            Start Date

            (includes the day abbreviation)
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_start_date
          in: query
          description: |-
            Start Date

            (includes the day abbreviation)
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_start_time
          in: query
          description: Start Time
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_start_time
          in: query
          description: Start Time
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        resource_reservation_id:
                          type: integer
                          description: Reservation ID
                          readOnly: true
                        reservation_description:
                          type: string
                          description: Description
                          readOnly: true
                        event_id:
                          type: integer
                          description: Event ID
                        event_description:
                          type: string
                          description: Event Description
                          readOnly: true
                          maxLength: 200
                        start_date:
                          type: string
                          format: date
                          description: |-
                            Start Date

                            (includes the day abbreviation)
                        end_date:
                          type: string
                          format: date
                          description: End Date
                        start_time:
                          type: string
                          format: date-time
                          description: Start Time
                        end_time:
                          type: string
                          format: date-time
                          description: End Time
                        resource_id:
                          type: integer
                          description: Resource ID
                        resource_description:
                          type: string
                          description: Resource Description
                          readOnly: true
                          maxLength: 100
                        resource_category:
                          type: integer
                          description: Resource Category
                        resource_abbreviation:
                          type: string
                          description: Abbreviation
                          maxLength: 8
                        requesting_person_id:
                          type: string
                          description: Requesting Person ID
                        conflict:
                          type: boolean
                          description: Conflict
                          readOnly: true
                        approval_status:
                          type: integer
                          description: Approval Status
                        notes:
                          type: string
                          description: Notes
                          maxLength: 1000
                        event_type:
                          type: integer
                          description: Event Type
                        requesting_person_name:
                          type: string
                          description: Requesting Person
                          readOnly: true
                      required:
                        - resource_reservation_id
                        - reservation_description
                        - event_id
                        - event_description
                        - start_date
                        - end_date
                        - start_time
                        - end_time
                        - resource_id
                        - resource_description
                        - resource_category
                        - resource_abbreviation
                        - requesting_person_id
                        - conflict
                        - approval_status
                        - notes
                        - event_type
                        - requesting_person_name
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - resource_category
                              - approval_status
                              - event_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'resource_reservations.reservations:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    post:
      tags:
        - 'Resource Reservations: Reservations'
      summary: 'Create Resource Reservations: Reservations'
      operationId: create_resource_reservations_reservations
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    resource_reservation_id:
                      type: integer
                      description: Reservation ID
                      readOnly: true
                    reservation_description:
                      type: string
                      description: Description
                      readOnly: true
                    event_id:
                      type: integer
                      description: Event ID
                    start_date:
                      type: string
                      format: date
                      description: |-
                        Start Date

                        (includes the day abbreviation)
                    end_date:
                      type: string
                      format: date
                      description: End Date
                    start_time:
                      type: string
                      format: date-time
                      description: Start Time
                    end_time:
                      type: string
                      format: date-time
                      description: End Time
                    resource_id:
                      type: integer
                      description: Resource ID
                    resource_category:
                      type: integer
                      description: Resource Category
                    requesting_person_id:
                      type: string
                      description: Requesting Person ID
                    conflict:
                      type: boolean
                      description: Conflict
                      readOnly: true
                    approval_status:
                      type: integer
                      description: Approval Status
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
                  required:
                    - resource_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'resource_reservations.reservations:create'
  '/resource_reservations/reservations/{id}':
    get:
      tags:
        - 'Resource Reservations: Reservations'
      summary: 'Read Resource Reservations: Reservations'
      operationId: read_resource_reservations_reservations
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      resource_reservation_id:
                        type: integer
                        description: Reservation ID
                        readOnly: true
                      reservation_description:
                        type: string
                        description: Description
                        readOnly: true
                      event_id:
                        type: integer
                        description: Event ID
                      event_description:
                        type: string
                        description: Event Description
                        readOnly: true
                        maxLength: 200
                      start_date:
                        type: string
                        format: date
                        description: |-
                          Start Date

                          (includes the day abbreviation)
                      end_date:
                        type: string
                        format: date
                        description: End Date
                      start_time:
                        type: string
                        format: date-time
                        description: Start Time
                      end_time:
                        type: string
                        format: date-time
                        description: End Time
                      resource_id:
                        type: integer
                        description: Resource ID
                      resource_description:
                        type: string
                        description: Resource Description
                        readOnly: true
                        maxLength: 100
                      resource_category:
                        type: integer
                        description: Resource Category
                      resource_abbreviation:
                        type: string
                        description: Abbreviation
                        maxLength: 8
                      requesting_person_id:
                        type: string
                        description: Requesting Person ID
                      conflict:
                        type: boolean
                        description: Conflict
                        readOnly: true
                      approval_status:
                        type: integer
                        description: Approval Status
                      notes:
                        type: string
                        description: Notes
                        maxLength: 1000
                      event_type:
                        type: integer
                        description: Event Type
                      requesting_person_name:
                        type: string
                        description: Requesting Person
                        readOnly: true
                    required:
                      - resource_reservation_id
                      - reservation_description
                      - event_id
                      - event_description
                      - start_date
                      - end_date
                      - start_time
                      - end_time
                      - resource_id
                      - resource_description
                      - resource_category
                      - resource_abbreviation
                      - requesting_person_id
                      - conflict
                      - approval_status
                      - notes
                      - event_type
                      - requesting_person_name
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - resource_category
                              - approval_status
                              - event_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'resource_reservations.reservations:read'
    parameters:
      - name: id
        in: path
        description: Reservation ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Resource Reservations: Reservations'
      summary: 'Update Resource Reservations: Reservations'
      operationId: update_resource_reservations_reservations
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    resource_reservation_id:
                      type: integer
                      description: Reservation ID
                      readOnly: true
                    reservation_description:
                      type: string
                      description: Description
                      readOnly: true
                    event_id:
                      type: integer
                      description: Event ID
                    event_description:
                      type: string
                      description: Event Description
                      readOnly: true
                      maxLength: 200
                    start_date:
                      type: string
                      format: date
                      description: |-
                        Start Date

                        (includes the day abbreviation)
                    end_date:
                      type: string
                      format: date
                      description: End Date
                    start_time:
                      type: string
                      format: date-time
                      description: Start Time
                    end_time:
                      type: string
                      format: date-time
                      description: End Time
                    resource_id:
                      type: integer
                      description: Resource ID
                    resource_description:
                      type: string
                      description: Resource Description
                      readOnly: true
                      maxLength: 100
                    resource_category:
                      type: integer
                      description: Resource Category
                    resource_abbreviation:
                      type: string
                      description: Abbreviation
                      maxLength: 8
                    requesting_person_id:
                      type: string
                      description: Requesting Person ID
                    conflict:
                      type: boolean
                      description: Conflict
                      readOnly: true
                    approval_status:
                      type: integer
                      description: Approval Status
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
                    event_type:
                      type: integer
                      description: Event Type
                    requesting_person_name:
                      type: string
                      description: Requesting Person
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'resource_reservations.reservations:update'
  /resource_reservations/resources:
    post:
      tags:
        - 'Resource Reservations: Resources'
      summary: 'Create Resource Reservations: Resources'
      operationId: create_resource_reservations_resources
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    resource_id:
                      type: integer
                      description: Resource ID
                      readOnly: true
                    description:
                      type: string
                      description: Description
                      maxLength: 100
                    abbreviation:
                      type: string
                      description: Abbreviation
                      maxLength: 8
                    resource_type:
                      type: integer
                      description: Resource Type
                    campus_id:
                      type: integer
                      description: Campus
                    campus_description:
                      type: string
                      description: Description
                      maxLength: 50
                    building_id:
                      type: integer
                      description: Building
                    building_description:
                      type: string
                      description: Description
                      maxLength: 100
                    school_level_id:
                      type: integer
                      description: School Level
                    school_level_description:
                      type: string
                      description: Description
                      maxLength: 50
                    responsible_person_id:
                      type: string
                      description: Responsible Person ID
                    responsible_person_name:
                      type: string
                      description: |-
                        Full Name

                        The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                      readOnly: true
                    allow_simultaneous_reservations:
                      type: integer
                      description: Allow Simultaneous Reservations
                    capacity:
                      type: integer
                      description: |-
                        Capacity

                        The amount of reservations that can occur at the same time.
                    hourly_cost:
                      type: integer
                      description: Hourly Cost
                    reservation_approval_required:
                      type: boolean
                      description: Reservation Approval Required
                    set_up_time_required_in_mins:
                      type: integer
                      description: |-
                        Set-Up Time Required

                        The setup time in minutes required for this resource
                    tear_down_time_required_in_mins:
                      type: integer
                      description: |-
                        Tear-Down Time Required

                        The tear-down time in minutes required for this resource
                    used_by_athletics:
                      type: boolean
                      description: Used By Athletics
                    include_on_portals:
                      type: boolean
                      description: Include on Portals
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
                  required:
                    - description
                    - resource_type
                    - campus_description
                    - building_description
                    - school_level_description
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'resource_reservations.resources:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Resource Reservations: Resources'
      summary: 'List Resource Reservations: Resources'
      operationId: list_resource_reservations_resources
      parameters:
        - name: resource_type
          in: query
          description: Resource Type
          required: false
          schema:
            type: integer
        - name: campus_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: building_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - name: school_level_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        resource_id:
                          type: integer
                          description: Resource ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 100
                        abbreviation:
                          type: string
                          description: Abbreviation
                          maxLength: 8
                        resource_type:
                          type: integer
                          description: Resource Type
                        campus_id:
                          type: integer
                          description: Campus
                        campus_description:
                          type: string
                          description: Description
                          maxLength: 50
                        building_id:
                          type: integer
                          description: Building
                        building_description:
                          type: string
                          description: Description
                          maxLength: 100
                        school_level_id:
                          type: integer
                          description: School Level
                        school_level_description:
                          type: string
                          description: Description
                          maxLength: 50
                        responsible_person_id:
                          type: string
                          description: Responsible Person ID
                        responsible_person_name:
                          type: string
                          description: |-
                            Full Name

                            The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                          readOnly: true
                        allow_simultaneous_reservations:
                          type: integer
                          description: Allow Simultaneous Reservations
                        capacity:
                          type: integer
                          description: |-
                            Capacity

                            The amount of reservations that can occur at the same time.
                        hourly_cost:
                          type: integer
                          description: Hourly Cost
                        reservation_approval_required:
                          type: boolean
                          description: Reservation Approval Required
                        set_up_time_required_in_mins:
                          type: integer
                          description: |-
                            Set-Up Time Required

                            The setup time in minutes required for this resource
                        tear_down_time_required_in_mins:
                          type: integer
                          description: |-
                            Tear-Down Time Required

                            The tear-down time in minutes required for this resource
                        used_by_athletics:
                          type: boolean
                          description: Used By Athletics
                        include_on_portals:
                          type: boolean
                          description: Include on Portals
                        notes:
                          type: string
                          description: Notes
                          maxLength: 1000
                      required:
                        - resource_id
                        - description
                        - abbreviation
                        - resource_type
                        - campus_id
                        - campus_description
                        - building_id
                        - building_description
                        - school_level_id
                        - school_level_description
                        - responsible_person_id
                        - responsible_person_name
                        - allow_simultaneous_reservations
                        - capacity
                        - hourly_cost
                        - reservation_approval_required
                        - set_up_time_required_in_mins
                        - tear_down_time_required_in_mins
                        - used_by_athletics
                        - include_on_portals
                        - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - resource_type
                              - campus_id
                              - building_id
                              - school_level_id
                              - allow_simultaneous_reservations
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'resource_reservations.resources:list'
  '/resource_reservations/resources/{resource_id}':
    get:
      tags:
        - 'Resource Reservations: Resources'
      summary: 'Read Resource Reservations: Resources'
      operationId: read_resource_reservations_resources
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      resource_id:
                        type: integer
                        description: Resource ID
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 100
                      abbreviation:
                        type: string
                        description: Abbreviation
                        maxLength: 8
                      resource_type:
                        type: integer
                        description: Resource Type
                      campus_id:
                        type: integer
                        description: Campus
                      campus_description:
                        type: string
                        description: Description
                        maxLength: 50
                      building_id:
                        type: integer
                        description: Building
                      building_description:
                        type: string
                        description: Description
                        maxLength: 100
                      school_level_id:
                        type: integer
                        description: School Level
                      school_level_description:
                        type: string
                        description: Description
                        maxLength: 50
                      responsible_person_id:
                        type: string
                        description: Responsible Person ID
                      responsible_person_name:
                        type: string
                        description: |-
                          Full Name

                          The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                        readOnly: true
                      allow_simultaneous_reservations:
                        type: integer
                        description: Allow Simultaneous Reservations
                      capacity:
                        type: integer
                        description: |-
                          Capacity

                          The amount of reservations that can occur at the same time.
                      hourly_cost:
                        type: integer
                        description: Hourly Cost
                      reservation_approval_required:
                        type: boolean
                        description: Reservation Approval Required
                      set_up_time_required_in_mins:
                        type: integer
                        description: |-
                          Set-Up Time Required

                          The setup time in minutes required for this resource
                      tear_down_time_required_in_mins:
                        type: integer
                        description: |-
                          Tear-Down Time Required

                          The tear-down time in minutes required for this resource
                      used_by_athletics:
                        type: boolean
                        description: Used By Athletics
                      include_on_portals:
                        type: boolean
                        description: Include on Portals
                      notes:
                        type: string
                        description: Notes
                        maxLength: 1000
                    required:
                      - resource_id
                      - description
                      - abbreviation
                      - resource_type
                      - campus_id
                      - campus_description
                      - building_id
                      - building_description
                      - school_level_id
                      - school_level_description
                      - responsible_person_id
                      - responsible_person_name
                      - allow_simultaneous_reservations
                      - capacity
                      - hourly_cost
                      - reservation_approval_required
                      - set_up_time_required_in_mins
                      - tear_down_time_required_in_mins
                      - used_by_athletics
                      - include_on_portals
                      - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - resource_type
                              - campus_id
                              - building_id
                              - school_level_id
                              - allow_simultaneous_reservations
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'resource_reservations.resources:read'
    parameters:
      - name: resource_id
        in: path
        description: Resource ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Resource Reservations: Resources'
      summary: 'Update Resource Reservations: Resources'
      operationId: update_resource_reservations_resources
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    resource_id:
                      type: integer
                      description: Resource ID
                      readOnly: true
                    description:
                      type: string
                      description: Description
                      maxLength: 100
                    abbreviation:
                      type: string
                      description: Abbreviation
                      maxLength: 8
                    resource_type:
                      type: integer
                      description: Resource Type
                    campus_id:
                      type: integer
                      description: Campus
                    campus_description:
                      type: string
                      description: Description
                      maxLength: 50
                    building_id:
                      type: integer
                      description: Building
                    building_description:
                      type: string
                      description: Description
                      maxLength: 100
                    school_level_id:
                      type: integer
                      description: School Level
                    school_level_description:
                      type: string
                      description: Description
                      maxLength: 50
                    responsible_person_id:
                      type: string
                      description: Responsible Person ID
                    responsible_person_name:
                      type: string
                      description: |-
                        Full Name

                        The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                      readOnly: true
                    allow_simultaneous_reservations:
                      type: integer
                      description: Allow Simultaneous Reservations
                    capacity:
                      type: integer
                      description: |-
                        Capacity

                        The amount of reservations that can occur at the same time.
                    hourly_cost:
                      type: integer
                      description: Hourly Cost
                    reservation_approval_required:
                      type: boolean
                      description: Reservation Approval Required
                    set_up_time_required_in_mins:
                      type: integer
                      description: |-
                        Set-Up Time Required

                        The setup time in minutes required for this resource
                    tear_down_time_required_in_mins:
                      type: integer
                      description: |-
                        Tear-Down Time Required

                        The tear-down time in minutes required for this resource
                    used_by_athletics:
                      type: boolean
                      description: Used By Athletics
                    include_on_portals:
                      type: boolean
                      description: Include on Portals
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'resource_reservations.resources:update'
  /security_roles:
    get:
      tags:
        - Security Roles
      summary: List Security Roles
      operationId: list_security_roles
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: person_security_role
          in: query
          description: Security Role
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person Security Role ID
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                        person_security_role:
                          type: integer
                          description: Security Role
                      required:
                        - id
                        - person_id
                        - person_security_role
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - person_security_role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'security_roles:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  /staff_faculty:
    post:
      tags:
        - Staff/Faculty
      summary: Create Staff/Faculty
      operationId: create_staff_faculty
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    person_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    name_prefix:
                      type: integer
                      description: Name Prefix
                    name_suffix:
                      type: integer
                      description: Name Suffix
                    first_name:
                      type: string
                      description: First Name
                      maxLength: 50
                    middle_name:
                      type: string
                      description: Middle Name
                      maxLength: 50
                    last_name:
                      type: string
                      description: Last Name
                      maxLength: 50
                    maiden_name:
                      type: string
                      description: Maiden Name
                      maxLength: 50
                    preferred_name:
                      type: string
                      description: Nick Name
                      maxLength: 50
                    household_id:
                      type: integer
                      description: Household ID
                    gender:
                      type: integer
                      description: Gender
                    pronouns:
                      type: integer
                      description: Pronouns
                    birth_date:
                      type: string
                      format: date
                      description: Date of Birth
                    date_hired:
                      type: string
                      format: date
                      description: Date Hired
                    date_terminated:
                      type: string
                      format: date
                      description: Date Terminated
                    employee_roles:
                      type: string
                      description: Employee Roles
                      maxLength: 500
                    full_time_percentage:
                      type: integer
                      description: Full Time Percentage
                    job_title:
                      type: string
                      description: Job Title
                      maxLength: 100
                    employee_code:
                      type: integer
                      description: Employee Code
                    campus:
                      type: integer
                      description: Campus
                    primary_department:
                      type: integer
                      description: Department
                    additional_departments:
                      type: string
                      description: Additional Departments
                      maxLength: 500
                    faculty_type:
                      type: integer
                      description: Faculty Type
                    email_1:
                      type: string
                      description: Email 1
                      maxLength: 100
                    email_2:
                      type: string
                      description: Email 2
                      maxLength: 100
                    home_phone:
                      type: string
                      description: Phone Home
                      maxLength: 30
                    mobile_phone:
                      type: string
                      description: Phone Mobile
                      maxLength: 30
                    business_phone:
                      type: string
                      description: Phone Business
                      maxLength: 30
                    license_plate:
                      type: string
                      description: License Plate
                      maxLength: 12
                    address_1:
                      type: string
                      description: Address 1
                      maxLength: 200
                    address_2:
                      type: string
                      description: Address 2
                      maxLength: 200
                    address_3:
                      type: string
                      description: Address 3
                      maxLength: 200
                    city:
                      type: string
                      description: City
                      maxLength: 50
                    state:
                      type: string
                      description: State Province
                      maxLength: 50
                    postal_code:
                      type: string
                      description: Postal Code
                      maxLength: 20
                    country:
                      type: integer
                      description: Country
                    legacy_id:
                      type: string
                      description: Legacy ID
                      maxLength: 50
                  required:
                    - name_prefix
                    - name_suffix
                    - last_name
                    - household_id
                    - gender
                    - pronouns
                    - full_time_percentage
                    - employee_code
                    - campus
                    - primary_department
                    - faculty_type
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'staff_faculty:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - Staff/Faculty
      summary: List Staff/Faculty
      operationId: list_staff_faculty
      parameters:
        - name: household_id
          in: query
          description: Household ID
          required: false
          schema:
            type: integer
        - name: faculty_type
          in: query
          description: Faculty Type
          required: false
          schema:
            type: integer
        - name: employee_code
          in: query
          description: Employee Code
          required: false
          schema:
            type: integer
        - name: campus
          in: query
          description: Campus
          required: false
          schema:
            type: integer
        - name: role
          in: query
          description: Role
          required: false
          schema:
            type: integer
        - name: on_or_before_date_hired
          in: query
          description: Date Hired
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_date_hired
          in: query
          description: Date Hired
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_date_terminated
          in: query
          description: Date Terminated
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_date_terminated
          in: query
          description: Date Terminated
          required: false
          schema:
            type: string
            format: date
        - name: school_level
          in: query
          description: |-
            School Level

            Determined by the person&#39;s school level classification as set on their Classification tab.
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        name_prefix:
                          type: integer
                          description: Name Prefix
                        name_suffix:
                          type: integer
                          description: Name Suffix
                        first_name:
                          type: string
                          description: First Name
                          maxLength: 50
                        middle_name:
                          type: string
                          description: Middle Name
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name
                          maxLength: 50
                        preferred_name:
                          type: string
                          description: Preferred Name
                          maxLength: 50
                        household_id:
                          type: integer
                          description: Household ID
                          readOnly: true
                        gender:
                          type: integer
                          description: Gender
                        faculty_type:
                          type: integer
                          description: Faculty Type
                        department:
                          type: integer
                          description: Primary Department
                        job_title:
                          type: string
                          description: Job Title
                          maxLength: 100
                        employee_code:
                          type: integer
                          description: Employee Code
                        date_hired:
                          type: string
                          format: date
                          description: Date Hired
                        date_terminated:
                          type: string
                          format: date
                          description: Date Terminated
                        campus:
                          type: integer
                          description: Campus
                        roles:
                          type: string
                          description: |-
                            Staff/Faculty Roles

                            A list of all staff/faculty roles specified for this person.
                          readOnly: true
                        email_1:
                          type: string
                          description: |-
                            Email 1

                            This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                          maxLength: 100
                        username:
                          type: string
                          description: Username
                          maxLength: 128
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - name_prefix
                        - name_suffix
                        - first_name
                        - middle_name
                        - last_name
                        - preferred_name
                        - household_id
                        - gender
                        - faculty_type
                        - department
                        - job_title
                        - employee_code
                        - date_hired
                        - date_terminated
                        - campus
                        - roles
                        - email_1
                        - username
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - name_prefix
                              - name_suffix
                              - gender
                              - faculty_type
                              - department
                              - employee_code
                              - campus
                              - role
                              - school_level
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'staff_faculty:list'
  '/staff_faculty/{id}':
    get:
      tags:
        - Staff/Faculty
      summary: Read Staff/Faculty
      operationId: read_staff_faculty
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      name_prefix:
                        type: integer
                        description: Name Prefix
                      name_suffix:
                        type: integer
                        description: Name Suffix
                      first_name:
                        type: string
                        description: First Name
                        maxLength: 50
                      middle_name:
                        type: string
                        description: Middle Name
                        maxLength: 50
                      last_name:
                        type: string
                        description: Last Name
                        maxLength: 50
                      preferred_name:
                        type: string
                        description: Preferred Name
                        maxLength: 50
                      household_id:
                        type: integer
                        description: Household ID
                        readOnly: true
                      gender:
                        type: integer
                        description: Gender
                      faculty_type:
                        type: integer
                        description: Faculty Type
                      department:
                        type: integer
                        description: Primary Department
                      job_title:
                        type: string
                        description: Job Title
                        maxLength: 100
                      employee_code:
                        type: integer
                        description: Employee Code
                      date_hired:
                        type: string
                        format: date
                        description: Date Hired
                      date_terminated:
                        type: string
                        format: date
                        description: Date Terminated
                      campus:
                        type: integer
                        description: Campus
                      roles:
                        type: string
                        description: |-
                          Staff/Faculty Roles

                          A list of all staff/faculty roles specified for this person.
                        readOnly: true
                      email_1:
                        type: string
                        description: |-
                          Email 1

                          This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                        maxLength: 100
                      username:
                        type: string
                        description: Username
                        maxLength: 128
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - name_prefix
                      - name_suffix
                      - first_name
                      - middle_name
                      - last_name
                      - preferred_name
                      - household_id
                      - gender
                      - faculty_type
                      - department
                      - job_title
                      - employee_code
                      - date_hired
                      - date_terminated
                      - campus
                      - roles
                      - email_1
                      - username
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - name_prefix
                              - name_suffix
                              - gender
                              - faculty_type
                              - department
                              - employee_code
                              - campus
                              - role
                              - school_level
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'staff_faculty:read'
    parameters:
      - name: id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - Staff/Faculty
      summary: Update Staff/Faculty
      operationId: update_staff_faculty
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    name_prefix:
                      type: integer
                      description: Name Prefix
                    name_suffix:
                      type: integer
                      description: Name Suffix
                    first_name:
                      type: string
                      description: First Name
                      maxLength: 50
                    middle_name:
                      type: string
                      description: Middle Name
                      maxLength: 50
                    last_name:
                      type: string
                      description: Last Name
                      maxLength: 50
                    preferred_name:
                      type: string
                      description: Preferred Name
                      maxLength: 50
                    household_id:
                      type: integer
                      description: Household ID
                      readOnly: true
                    gender:
                      type: integer
                      description: Gender
                    faculty_type:
                      type: integer
                      description: Faculty Type
                    department:
                      type: integer
                      description: Primary Department
                    job_title:
                      type: string
                      description: Job Title
                      maxLength: 100
                    employee_code:
                      type: integer
                      description: Employee Code
                    date_hired:
                      type: string
                      format: date
                      description: Date Hired
                    date_terminated:
                      type: string
                      format: date
                      description: Date Terminated
                    campus:
                      type: integer
                      description: Campus
                    roles:
                      type: string
                      description: |-
                        Staff/Faculty Roles

                        A list of all staff/faculty roles specified for this person.
                      readOnly: true
                    email_1:
                      type: string
                      description: |-
                        Email 1

                        This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                      maxLength: 100
                    username:
                      type: string
                      description: Username
                      maxLength: 128
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'staff_faculty:update'
  /standardized_tests/score_types:
    post:
      tags:
        - 'Standardized Tests: Score Types'
      summary: 'Create Standardized Tests: Score Types'
      operationId: create_standardized_tests_score_types
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: ID
                      readOnly: true
                    description:
                      type: string
                      description: Description
                      maxLength: 50
                    override_description:
                      type: string
                      description: Override Description
                      maxLength: 50
                    test_type:
                      type: integer
                      description: Test Type
                    data_type:
                      type: integer
                      description: Data Type
                    primary_score:
                      type: boolean
                      description: Primary Score
                    secondary_score:
                      type: boolean
                      description: Secondary Score
                    tertiary_score:
                      type: boolean
                      description: Tertiary Score
                    enabled:
                      type: boolean
                      description: Enabled
                    sort_key:
                      type: integer
                      description: Sort Key
                  required:
                    - description
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'standardized_tests.score_types:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Standardized Tests: Score Types'
      summary: 'List Standardized Tests: Score Types'
      operationId: list_standardized_tests_score_types
      parameters:
        - name: test_type
          in: query
          description: Test Type
          required: false
          schema:
            type: integer
        - name: data_type
          in: query
          description: Data Type
          required: false
          schema:
            type: integer
        - name: primary_score
          in: query
          description: Primary Score
          required: false
          schema:
            type: boolean
        - name: secondary_score
          in: query
          description: Secondary Score
          required: false
          schema:
            type: boolean
        - name: tertiary_score
          in: query
          description: Tertiary Score
          required: false
          schema:
            type: boolean
        - name: enabled
          in: query
          description: Enabled
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 50
                        override_description:
                          type: string
                          description: Override Description
                          maxLength: 50
                        test_type:
                          type: integer
                          description: Test Type
                        data_type:
                          type: integer
                          description: Data Type
                        primary_score:
                          type: boolean
                          description: Primary Score
                        secondary_score:
                          type: boolean
                          description: Secondary Score
                        tertiary_score:
                          type: boolean
                          description: Tertiary Score
                        enabled:
                          type: boolean
                          description: Enabled
                        sort_key:
                          type: integer
                          description: Sort Key
                      required:
                        - id
                        - description
                        - override_description
                        - test_type
                        - data_type
                        - primary_score
                        - secondary_score
                        - tertiary_score
                        - enabled
                        - sort_key
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - test_type
                              - data_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'standardized_tests.score_types:list'
  '/standardized_tests/score_types/{id}':
    get:
      tags:
        - 'Standardized Tests: Score Types'
      summary: 'Read Standardized Tests: Score Types'
      operationId: read_standardized_tests_score_types
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ID
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 50
                      override_description:
                        type: string
                        description: Override Description
                        maxLength: 50
                      test_type:
                        type: integer
                        description: Test Type
                      data_type:
                        type: integer
                        description: Data Type
                      primary_score:
                        type: boolean
                        description: Primary Score
                      secondary_score:
                        type: boolean
                        description: Secondary Score
                      tertiary_score:
                        type: boolean
                        description: Tertiary Score
                      enabled:
                        type: boolean
                        description: Enabled
                      sort_key:
                        type: integer
                        description: Sort Key
                    required:
                      - id
                      - description
                      - override_description
                      - test_type
                      - data_type
                      - primary_score
                      - secondary_score
                      - tertiary_score
                      - enabled
                      - sort_key
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - test_type
                              - data_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'standardized_tests.score_types:read'
    parameters:
      - name: id
        in: path
        description: ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Standardized Tests: Score Types'
      summary: 'Update Standardized Tests: Score Types'
      operationId: update_standardized_tests_score_types
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: ID
                      readOnly: true
                    description:
                      type: string
                      description: Description
                      maxLength: 50
                    override_description:
                      type: string
                      description: Override Description
                      maxLength: 50
                    test_type:
                      type: integer
                      description: Test Type
                    data_type:
                      type: integer
                      description: Data Type
                    primary_score:
                      type: boolean
                      description: Primary Score
                    secondary_score:
                      type: boolean
                      description: Secondary Score
                    tertiary_score:
                      type: boolean
                      description: Tertiary Score
                    enabled:
                      type: boolean
                      description: Enabled
                    sort_key:
                      type: integer
                      description: Sort Key
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'standardized_tests.score_types:update'
  /standardized_tests/scores:
    get:
      tags:
        - 'Standardized Tests: Scores'
      summary: 'List Standardized Tests: Scores'
      operationId: list_standardized_tests_scores
      parameters:
        - name: person_test_id
          in: query
          description: Person Standardized Test
          required: false
          schema:
            type: integer
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: test_type
          in: query
          description: Test Type
          required: false
          schema:
            type: integer
        - name: test_year
          in: query
          description: |-
            Test Year

            The year the test was taken, entered manually if the exact date is not known.
          required: false
          schema:
            type: integer
        - name: score_type
          in: query
          description: |-
            Score Type

            E.g. English, Math, Writing
          required: false
          schema:
            type: integer
        - name: is_primary_score
          in: query
          description: Primary Score
          required: false
          schema:
            type: boolean
        - name: is_secondary_score
          in: query
          description: Secondary Score
          required: false
          schema:
            type: boolean
        - name: is_tertiary_score
          in: query
          description: Tertiary Score
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person Standardized Test Score ID
                          readOnly: true
                        person_test_id:
                          type: integer
                          description: Person Standardized Test
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        test_type:
                          type: integer
                          description: Test Type
                        test_type_description:
                          type: string
                          description: Description (read-only)
                          readOnly: true
                          maxLength: 50
                        test_year:
                          type: integer
                          description: |-
                            Test Year

                            The year the test was taken, entered manually if the exact date is not known.
                        test_date:
                          type: string
                          format: date
                          description: |-
                            Test Date

                            The date the test was taken
                        score_type:
                          type: integer
                          description: |-
                            Score Type

                            E.g. English, Math, Writing
                        score_type_description:
                          type: string
                          description: Description
                          maxLength: 50
                        score:
                          type: string
                          description: Score
                          maxLength: 20
                        is_primary_score:
                          type: boolean
                          description: Primary Score
                        is_secondary_score:
                          type: boolean
                          description: Secondary Score
                        is_tertiary_score:
                          type: boolean
                          description: Tertiary Score
                      required:
                        - id
                        - person_test_id
                        - person_id
                        - test_type
                        - test_type_description
                        - test_year
                        - test_date
                        - score_type
                        - score_type_description
                        - score
                        - is_primary_score
                        - is_secondary_score
                        - is_tertiary_score
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - test_type
                              - test_year
                              - score_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'standardized_tests.scores:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/standardized_tests/scores/{id}':
    get:
      tags:
        - 'Standardized Tests: Scores'
      summary: 'Read Standardized Tests: Scores'
      operationId: read_standardized_tests_scores
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person Standardized Test Score ID
                        readOnly: true
                      person_test_id:
                        type: integer
                        description: Person Standardized Test
                      person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      test_type:
                        type: integer
                        description: Test Type
                      test_type_description:
                        type: string
                        description: Description (read-only)
                        readOnly: true
                        maxLength: 50
                      test_year:
                        type: integer
                        description: |-
                          Test Year

                          The year the test was taken, entered manually if the exact date is not known.
                      test_date:
                        type: string
                        format: date
                        description: |-
                          Test Date

                          The date the test was taken
                      score_type:
                        type: integer
                        description: |-
                          Score Type

                          E.g. English, Math, Writing
                      score_type_description:
                        type: string
                        description: Description
                        maxLength: 50
                      score:
                        type: string
                        description: Score
                        maxLength: 20
                      is_primary_score:
                        type: boolean
                        description: Primary Score
                      is_secondary_score:
                        type: boolean
                        description: Secondary Score
                      is_tertiary_score:
                        type: boolean
                        description: Tertiary Score
                    required:
                      - id
                      - person_test_id
                      - person_id
                      - test_type
                      - test_type_description
                      - test_year
                      - test_date
                      - score_type
                      - score_type_description
                      - score
                      - is_primary_score
                      - is_secondary_score
                      - is_tertiary_score
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - test_type
                              - test_year
                              - score_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'standardized_tests.scores:read'
    parameters:
      - name: id
        in: path
        description: Person Standardized Test Score ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Standardized Tests: Scores'
      summary: 'Update Standardized Tests: Scores'
      operationId: update_standardized_tests_scores
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person Standardized Test Score ID
                      readOnly: true
                    person_test_id:
                      type: integer
                      description: Person Standardized Test
                    person_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    test_type:
                      type: integer
                      description: Test Type
                    test_type_description:
                      type: string
                      description: Description (read-only)
                      readOnly: true
                      maxLength: 50
                    test_year:
                      type: integer
                      description: |-
                        Test Year

                        The year the test was taken, entered manually if the exact date is not known.
                    test_date:
                      type: string
                      format: date
                      description: |-
                        Test Date

                        The date the test was taken
                    score_type:
                      type: integer
                      description: |-
                        Score Type

                        E.g. English, Math, Writing
                    score_type_description:
                      type: string
                      description: Description
                      maxLength: 50
                    score:
                      type: string
                      description: Score
                      maxLength: 20
                    is_primary_score:
                      type: boolean
                      description: Primary Score
                    is_secondary_score:
                      type: boolean
                      description: Secondary Score
                    is_tertiary_score:
                      type: boolean
                      description: Tertiary Score
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'standardized_tests.scores:update'
  /standardized_tests/test_types:
    post:
      tags:
        - 'Standardized Tests: Test Types'
      summary: 'Create Standardized Tests: Test Types'
      operationId: create_standardized_tests_test_types
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: ID
                      readOnly: true
                    description:
                      type: string
                      description: |-
                        Description

                        Do not change Description without first consulting your Account Manager
                      maxLength: 50
                    override_description:
                      type: string
                      description: Override Description
                      maxLength: 50
                    enabled:
                      type: boolean
                      description: Enabled
                    importer_enabled:
                      type: boolean
                      description: |-
                        Importer Enabled

                        To enable this test for the Importer tool, navigate to the detail screen for this Test Type and run the action menu &quot;Enable/Disable Import Type.&quot;
                      readOnly: true
                    sort_key:
                      type: integer
                      description: Sort Key
                  required:
                    - description
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'standardized_tests.test_types:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Standardized Tests: Test Types'
      summary: 'List Standardized Tests: Test Types'
      operationId: list_standardized_tests_test_types
      parameters:
        - name: enabled
          in: query
          description: Enabled
          required: false
          schema:
            type: boolean
        - name: importer_enabled
          in: query
          description: |-
            Importer Enabled

            To enable this test for the Importer tool, navigate to the detail screen for this Test Type and run the action menu &quot;Enable/Disable Import Type.&quot;
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: |-
                            Description

                            Do not change Description without first consulting your Account Manager
                          maxLength: 50
                        override_description:
                          type: string
                          description: Override Description
                          maxLength: 50
                        enabled:
                          type: boolean
                          description: Enabled
                        importer_enabled:
                          type: boolean
                          description: |-
                            Importer Enabled

                            To enable this test for the Importer tool, navigate to the detail screen for this Test Type and run the action menu &quot;Enable/Disable Import Type.&quot;
                          readOnly: true
                        sort_key:
                          type: integer
                          description: Sort Key
                      required:
                        - id
                        - description
                        - override_description
                        - enabled
                        - importer_enabled
                        - sort_key
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'standardized_tests.test_types:list'
  '/standardized_tests/test_types/{id}':
    get:
      tags:
        - 'Standardized Tests: Test Types'
      summary: 'Read Standardized Tests: Test Types'
      operationId: read_standardized_tests_test_types
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ID
                        readOnly: true
                      description:
                        type: string
                        description: |-
                          Description

                          Do not change Description without first consulting your Account Manager
                        maxLength: 50
                      override_description:
                        type: string
                        description: Override Description
                        maxLength: 50
                      enabled:
                        type: boolean
                        description: Enabled
                      importer_enabled:
                        type: boolean
                        description: |-
                          Importer Enabled

                          To enable this test for the Importer tool, navigate to the detail screen for this Test Type and run the action menu &quot;Enable/Disable Import Type.&quot;
                        readOnly: true
                      sort_key:
                        type: integer
                        description: Sort Key
                    required:
                      - id
                      - description
                      - override_description
                      - enabled
                      - importer_enabled
                      - sort_key
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'standardized_tests.test_types:read'
    parameters:
      - name: id
        in: path
        description: ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Standardized Tests: Test Types'
      summary: 'Update Standardized Tests: Test Types'
      operationId: update_standardized_tests_test_types
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: ID
                      readOnly: true
                    description:
                      type: string
                      description: |-
                        Description

                        Do not change Description without first consulting your Account Manager
                      maxLength: 50
                    override_description:
                      type: string
                      description: Override Description
                      maxLength: 50
                    enabled:
                      type: boolean
                      description: Enabled
                    importer_enabled:
                      type: boolean
                      description: |-
                        Importer Enabled

                        To enable this test for the Importer tool, navigate to the detail screen for this Test Type and run the action menu &quot;Enable/Disable Import Type.&quot;
                      readOnly: true
                    sort_key:
                      type: integer
                      description: Sort Key
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'standardized_tests.test_types:update'
  /standardized_tests/tests:
    post:
      tags:
        - 'Standardized Tests: Tests'
      summary: 'Create Standardized Tests: Tests'
      operationId: create_standardized_tests_tests
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person Standardized Test ID
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    test_type:
                      type: integer
                      description: |-
                        Test Type

                        E.g., PSAT, SAT, ACT, TOEFL
                    test_type_description:
                      type: string
                      description: Description (read-only)
                      readOnly: true
                      maxLength: 50
                    test_year:
                      type: integer
                      description: |-
                        Test Year

                        The year the test was taken, entered manually if the exact date is not known.
                    test_date:
                      type: string
                      format: date
                      description: |-
                        Test Date

                        The date the test was taken
                    grade_level:
                      type: integer
                      description: |-
                        Grade Level

                        The grade level of the student at the time of taking the test
                    course:
                      type: integer
                      description: Course ID
                    class_enrollment:
                      type: string
                      description: Class Enrollment
                    test_administered_by:
                      type: string
                      description: Test Administered By
                      maxLength: 200
                    notes:
                      type: string
                      description: Notes
                    include_in_summary:
                      type: boolean
                      description: Include In Summary
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'standardized_tests.tests:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Standardized Tests: Tests'
      summary: 'List Standardized Tests: Tests'
      operationId: list_standardized_tests_tests
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: test_type
          in: query
          description: |-
            Test Type

            E.g., PSAT, SAT, ACT, TOEFL
          required: false
          schema:
            type: integer
        - name: test_year
          in: query
          description: |-
            Test Year

            The year the test was taken, entered manually if the exact date is not known.
          required: false
          schema:
            type: integer
        - name: test_date
          in: query
          description: |-
            Test Date

            The date the test was taken
          required: false
          schema:
            type: string
            format: date
        - name: grade_level
          in: query
          description: |-
            Grade Level

            The grade level of the student at the time of taking the test
          required: false
          schema:
            type: integer
        - name: course
          in: query
          description: Course ID
          required: false
          schema:
            type: integer
        - name: class_enrollment
          in: query
          description: Class Enrollment
          required: false
          schema:
            type: string
        - name: include_in_summary
          in: query
          description: Include In Summary
          required: false
          schema:
            type: boolean
        - name: on_or_after_test_date
          in: query
          description: |-
            Test Date

            The date the test was taken
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_test_date
          in: query
          description: |-
            Test Date

            The date the test was taken
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person Standardized Test ID
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        test_type:
                          type: integer
                          description: |-
                            Test Type

                            E.g., PSAT, SAT, ACT, TOEFL
                        test_type_description:
                          type: string
                          description: Description (read-only)
                          readOnly: true
                          maxLength: 50
                        test_year:
                          type: integer
                          description: |-
                            Test Year

                            The year the test was taken, entered manually if the exact date is not known.
                        test_date:
                          type: string
                          format: date
                          description: |-
                            Test Date

                            The date the test was taken
                        grade_level:
                          type: integer
                          description: |-
                            Grade Level

                            The grade level of the student at the time of taking the test
                        course:
                          type: integer
                          description: Course ID
                        class_enrollment:
                          type: string
                          description: Class Enrollment
                        test_administered_by:
                          type: string
                          description: Test Administered By
                          maxLength: 200
                        notes:
                          type: string
                          description: Notes
                        include_in_summary:
                          type: boolean
                          description: Include In Summary
                      required:
                        - id
                        - person_id
                        - test_type
                        - test_type_description
                        - test_year
                        - test_date
                        - grade_level
                        - course
                        - class_enrollment
                        - test_administered_by
                        - notes
                        - include_in_summary
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - test_type
                              - test_year
                              - grade_level
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'standardized_tests.tests:list'
  '/standardized_tests/tests/{id}':
    get:
      tags:
        - 'Standardized Tests: Tests'
      summary: 'Read Standardized Tests: Tests'
      operationId: read_standardized_tests_tests
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person Standardized Test ID
                        readOnly: true
                      person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      test_type:
                        type: integer
                        description: |-
                          Test Type

                          E.g., PSAT, SAT, ACT, TOEFL
                      test_type_description:
                        type: string
                        description: Description (read-only)
                        readOnly: true
                        maxLength: 50
                      test_year:
                        type: integer
                        description: |-
                          Test Year

                          The year the test was taken, entered manually if the exact date is not known.
                      test_date:
                        type: string
                        format: date
                        description: |-
                          Test Date

                          The date the test was taken
                      grade_level:
                        type: integer
                        description: |-
                          Grade Level

                          The grade level of the student at the time of taking the test
                      course:
                        type: integer
                        description: Course ID
                      class_enrollment:
                        type: string
                        description: Class Enrollment
                      test_administered_by:
                        type: string
                        description: Test Administered By
                        maxLength: 200
                      notes:
                        type: string
                        description: Notes
                      include_in_summary:
                        type: boolean
                        description: Include In Summary
                    required:
                      - id
                      - person_id
                      - test_type
                      - test_type_description
                      - test_year
                      - test_date
                      - grade_level
                      - course
                      - class_enrollment
                      - test_administered_by
                      - notes
                      - include_in_summary
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - test_type
                              - test_year
                              - grade_level
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'standardized_tests.tests:read'
    parameters:
      - name: id
        in: path
        description: Person Standardized Test ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Standardized Tests: Tests'
      summary: 'Update Standardized Tests: Tests'
      operationId: update_standardized_tests_tests
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Person Standardized Test ID
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    test_type:
                      type: integer
                      description: |-
                        Test Type

                        E.g., PSAT, SAT, ACT, TOEFL
                    test_type_description:
                      type: string
                      description: Description (read-only)
                      readOnly: true
                      maxLength: 50
                    test_year:
                      type: integer
                      description: |-
                        Test Year

                        The year the test was taken, entered manually if the exact date is not known.
                    test_date:
                      type: string
                      format: date
                      description: |-
                        Test Date

                        The date the test was taken
                    grade_level:
                      type: integer
                      description: |-
                        Grade Level

                        The grade level of the student at the time of taking the test
                    course:
                      type: integer
                      description: Course ID
                    class_enrollment:
                      type: string
                      description: Class Enrollment
                    test_administered_by:
                      type: string
                      description: Test Administered By
                      maxLength: 200
                    notes:
                      type: string
                      description: Notes
                    include_in_summary:
                      type: boolean
                      description: Include In Summary
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'standardized_tests.tests:update'
  /student_logistics_requests:
    post:
      tags:
        - Student Logistics Requests
      summary: Create Student Logistics Requests
      operationId: create_student_logistics_requests
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Student Logistics Request ID
                      readOnly: true
                    student_id:
                      type: integer
                      description: Student ID
                    student_name:
                      type: string
                      description: Student
                      readOnly: true
                    requestor_id:
                      type: integer
                      description: Requestor ID
                    requestor_name:
                      type: string
                      description: Requestor
                      readOnly: true
                    date:
                      type: string
                      format: date
                      description: Request Date
                    status:
                      type: integer
                      description: Request Status
                    category:
                      type: string
                      description: Request Category
                    reason:
                      type: string
                      description: Request Reason
                    notes:
                      type: string
                      description: Request Notes
                      maxLength: 1000
                    attendance_start_date:
                      type: string
                      format: date
                      description: Attendance Start Date
                    attendance_time:
                      type: string
                      format: date-time
                      description: Attendance Time
                    attendance_end_date:
                      type: string
                      format: date
                      description: Attendance End Date
                    attendance_return_time:
                      type: string
                      format: date-time
                      description: Attendance Return Time
                    attendance_type:
                      type: integer
                      description: Attendance Type
                    transportation_method:
                      type: string
                      description: Transportation Method
                    am_pm:
                      type: integer
                      description: AM/PM
                    bus_stop:
                      type: integer
                      description: Bus Stop
                    bus_route:
                      type: string
                      description: Bus Route
                    response_notes:
                      type: string
                      description: Response Notes
                      maxLength: 1000
                    internal_notes:
                      type: string
                      description: Internal Notes
                      maxLength: 1000
                    extended_care_type:
                      type: string
                      description: Extended Care Type
                      maxLength: 20
                    extended_care_arrival_time:
                      type: string
                      format: time-local
                      description: Extended Care Arrival Time
                    extended_care_leave_time:
                      type: string
                      format: time-local
                      description: Extended Care Leave Time
                    internal_class_id:
                      type: integer
                      description: |-
                        Drop In Class Internal ID

                        Internal only for API use
                    posted:
                      type: boolean
                      description: Posted
                    send_notification:
                      type: boolean
                      description: |-
                        Send Notification?

                        When set, this will send notifications to staff members as configured.
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
                    last_modified_user:
                      type: string
                      description: Last Modified User
                      readOnly: true
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'student_logistics_requests:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - Student Logistics Requests
      summary: List Student Logistics Requests
      operationId: list_student_logistics_requests
      parameters:
        - name: internal_class_id
          in: query
          description: |-
            Drop In Class Internal ID

            Internal only for API use
          required: false
          schema:
            type: integer
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Student Logistics Request ID
                          readOnly: true
                        student_id:
                          type: integer
                          description: Student ID
                        student_name:
                          type: string
                          description: Student
                          readOnly: true
                        requestor_id:
                          type: integer
                          description: Requestor ID
                        requestor_name:
                          type: string
                          description: Requestor
                          readOnly: true
                        date:
                          type: string
                          format: date
                          description: Request Date
                        status:
                          type: integer
                          description: Request Status
                        category:
                          type: string
                          description: Request Category
                        reason:
                          type: string
                          description: Request Reason
                        notes:
                          type: string
                          description: Request Notes
                          maxLength: 1000
                        attendance_start_date:
                          type: string
                          format: date
                          description: Attendance Start Date
                        attendance_time:
                          type: string
                          format: date-time
                          description: Attendance Time
                        attendance_end_date:
                          type: string
                          format: date
                          description: Attendance End Date
                        attendance_return_time:
                          type: string
                          format: date-time
                          description: Attendance Return Time
                        attendance_type:
                          type: integer
                          description: Attendance Type
                        transportation_method:
                          type: string
                          description: Transportation Method
                        am_pm:
                          type: integer
                          description: AM/PM
                        bus_stop:
                          type: integer
                          description: Bus Stop
                        bus_route:
                          type: string
                          description: Bus Route
                        response_notes:
                          type: string
                          description: Response Notes
                          maxLength: 1000
                        internal_notes:
                          type: string
                          description: Internal Notes
                          maxLength: 1000
                        extended_care_type:
                          type: string
                          description: Extended Care Type
                          maxLength: 20
                        extended_care_arrival_time:
                          type: string
                          format: time-local
                          description: Extended Care Arrival Time
                        extended_care_leave_time:
                          type: string
                          format: time-local
                          description: Extended Care Leave Time
                        internal_class_id:
                          type: integer
                          description: |-
                            Drop In Class Internal ID

                            Internal only for API use
                        posted:
                          type: boolean
                          description: Posted
                        send_notification:
                          type: boolean
                          description: |-
                            Send Notification?

                            When set, this will send notifications to staff members as configured.
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                        last_modified_user:
                          type: string
                          description: Last Modified User
                          readOnly: true
                      required:
                        - id
                        - student_id
                        - student_name
                        - requestor_id
                        - requestor_name
                        - date
                        - status
                        - category
                        - reason
                        - notes
                        - attendance_start_date
                        - attendance_time
                        - attendance_end_date
                        - attendance_return_time
                        - attendance_type
                        - transportation_method
                        - am_pm
                        - bus_stop
                        - bus_route
                        - response_notes
                        - internal_notes
                        - extended_care_type
                        - extended_care_arrival_time
                        - extended_care_leave_time
                        - internal_class_id
                        - posted
                        - send_notification
                        - last_modified_date
                        - last_modified_user
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                              - category
                              - reason
                              - attendance_type
                              - transportation_method
                              - am_pm
                              - bus_stop
                              - bus_route
                              - extended_care_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'student_logistics_requests:list'
  '/student_logistics_requests/{id}':
    delete:
      tags:
        - Student Logistics Requests
      summary: Delete Student Logistics Requests
      operationId: delete_student_logistics_requests
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'student_logistics_requests:delete'
    parameters:
      - name: id
        in: path
        description: Student Logistics Request ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - Student Logistics Requests
      summary: Read Student Logistics Requests
      operationId: read_student_logistics_requests
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Student Logistics Request ID
                        readOnly: true
                      student_id:
                        type: integer
                        description: Student ID
                      student_name:
                        type: string
                        description: Student
                        readOnly: true
                      requestor_id:
                        type: integer
                        description: Requestor ID
                      requestor_name:
                        type: string
                        description: Requestor
                        readOnly: true
                      date:
                        type: string
                        format: date
                        description: Request Date
                      status:
                        type: integer
                        description: Request Status
                      category:
                        type: string
                        description: Request Category
                      reason:
                        type: string
                        description: Request Reason
                      notes:
                        type: string
                        description: Request Notes
                        maxLength: 1000
                      attendance_start_date:
                        type: string
                        format: date
                        description: Attendance Start Date
                      attendance_time:
                        type: string
                        format: date-time
                        description: Attendance Time
                      attendance_end_date:
                        type: string
                        format: date
                        description: Attendance End Date
                      attendance_return_time:
                        type: string
                        format: date-time
                        description: Attendance Return Time
                      attendance_type:
                        type: integer
                        description: Attendance Type
                      transportation_method:
                        type: string
                        description: Transportation Method
                      am_pm:
                        type: integer
                        description: AM/PM
                      bus_stop:
                        type: integer
                        description: Bus Stop
                      bus_route:
                        type: string
                        description: Bus Route
                      response_notes:
                        type: string
                        description: Response Notes
                        maxLength: 1000
                      internal_notes:
                        type: string
                        description: Internal Notes
                        maxLength: 1000
                      extended_care_type:
                        type: string
                        description: Extended Care Type
                        maxLength: 20
                      extended_care_arrival_time:
                        type: string
                        format: time-local
                        description: Extended Care Arrival Time
                      extended_care_leave_time:
                        type: string
                        format: time-local
                        description: Extended Care Leave Time
                      internal_class_id:
                        type: integer
                        description: |-
                          Drop In Class Internal ID

                          Internal only for API use
                      posted:
                        type: boolean
                        description: Posted
                      send_notification:
                        type: boolean
                        description: |-
                          Send Notification?

                          When set, this will send notifications to staff members as configured.
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                      last_modified_user:
                        type: string
                        description: Last Modified User
                        readOnly: true
                    required:
                      - id
                      - student_id
                      - student_name
                      - requestor_id
                      - requestor_name
                      - date
                      - status
                      - category
                      - reason
                      - notes
                      - attendance_start_date
                      - attendance_time
                      - attendance_end_date
                      - attendance_return_time
                      - attendance_type
                      - transportation_method
                      - am_pm
                      - bus_stop
                      - bus_route
                      - response_notes
                      - internal_notes
                      - extended_care_type
                      - extended_care_arrival_time
                      - extended_care_leave_time
                      - internal_class_id
                      - posted
                      - send_notification
                      - last_modified_date
                      - last_modified_user
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                              - category
                              - reason
                              - attendance_type
                              - transportation_method
                              - am_pm
                              - bus_stop
                              - bus_route
                              - extended_care_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'student_logistics_requests:read'
    patch:
      tags:
        - Student Logistics Requests
      summary: Update Student Logistics Requests
      operationId: update_student_logistics_requests
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Student Logistics Request ID
                      readOnly: true
                    student_id:
                      type: integer
                      description: Student ID
                    student_name:
                      type: string
                      description: Student
                      readOnly: true
                    requestor_id:
                      type: integer
                      description: Requestor ID
                    requestor_name:
                      type: string
                      description: Requestor
                      readOnly: true
                    date:
                      type: string
                      format: date
                      description: Request Date
                    status:
                      type: integer
                      description: Request Status
                    category:
                      type: string
                      description: Request Category
                    reason:
                      type: string
                      description: Request Reason
                    notes:
                      type: string
                      description: Request Notes
                      maxLength: 1000
                    attendance_start_date:
                      type: string
                      format: date
                      description: Attendance Start Date
                    attendance_time:
                      type: string
                      format: date-time
                      description: Attendance Time
                    attendance_end_date:
                      type: string
                      format: date
                      description: Attendance End Date
                    attendance_return_time:
                      type: string
                      format: date-time
                      description: Attendance Return Time
                    attendance_type:
                      type: integer
                      description: Attendance Type
                    transportation_method:
                      type: string
                      description: Transportation Method
                    am_pm:
                      type: integer
                      description: AM/PM
                    bus_stop:
                      type: integer
                      description: Bus Stop
                    bus_route:
                      type: string
                      description: Bus Route
                    response_notes:
                      type: string
                      description: Response Notes
                      maxLength: 1000
                    internal_notes:
                      type: string
                      description: Internal Notes
                      maxLength: 1000
                    extended_care_type:
                      type: string
                      description: Extended Care Type
                      maxLength: 20
                    extended_care_arrival_time:
                      type: string
                      format: time-local
                      description: Extended Care Arrival Time
                    extended_care_leave_time:
                      type: string
                      format: time-local
                      description: Extended Care Leave Time
                    internal_class_id:
                      type: integer
                      description: |-
                        Drop In Class Internal ID

                        Internal only for API use
                    posted:
                      type: boolean
                      description: Posted
                    send_notification:
                      type: boolean
                      description: |-
                        Send Notification?

                        When set, this will send notifications to staff members as configured.
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
                    last_modified_user:
                      type: string
                      description: Last Modified User
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'student_logistics_requests:update'
  /student_logistics/categories:
    get:
      tags:
        - 'Student Logistics Requests: Categories'
      summary: 'List Student Logistics Requests: Categories'
      operationId: list_student_logistics_requests_categories
      parameters:
        - name: display_category
          in: query
          description: Display
          required: false
          schema:
            type: boolean
        - name: display_reasons
          in: query
          description: Display Reasons?
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 100
                        overall_instructions:
                          type: string
                          description: Overall Instructions
                          maxLength: 1000
                        notes_instructions:
                          type: string
                          description: Notes Instructions
                          maxLength: 1000
                        sort_key:
                          type: integer
                          description: Sort Key
                        display_category:
                          type: boolean
                          description: Display
                        display_reasons:
                          type: boolean
                          description: Display Reasons?
                      required:
                        - id
                        - description
                        - overall_instructions
                        - notes_instructions
                        - sort_key
                        - display_category
                        - display_reasons
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'student_logistics.categories:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  /student_logistics/drop_ins:
    get:
      tags:
        - 'Student Logistics Requests: Drop-Ins'
      summary: 'List Student Logistics Requests: Drop-Ins'
      operationId: list_student_logistics_requests_drop_ins
      parameters:
        - name: calendar_date
          in: query
          description: Calendar Date
          required: false
          schema:
            type: string
            format: date-time
        - name: person_id
          in: query
          description: Internal Person ID
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        internal_class_id:
                          type: string
                          description: Internal Class ID
                        class_description:
                          type: string
                          description: Class Description
                          maxLength: 80
                        calendar_date:
                          type: string
                          format: date-time
                          description: Calendar Date
                        person_id:
                          type: string
                          description: Internal Person ID
                      required:
                        - internal_class_id
                        - class_description
                        - calendar_date
                        - person_id
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                    maxItems: 0
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'student_logistics.drop_ins:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  /student_logistics/reasons:
    get:
      tags:
        - 'Student Logistics Requests: Reasons'
      summary: 'List Student Logistics Requests: Reasons'
      operationId: list_student_logistics_requests_reasons
      parameters:
        - name: category
          in: query
          description: Category
          required: false
          schema:
            type: integer
        - name: display_to_teachers
          in: query
          description: Display to Teachers
          required: false
          schema:
            type: boolean
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 100
                        category:
                          type: integer
                          description: Category
                        default_request_status:
                          type: integer
                          description: Default Request Status
                        default_attendance_status_tardy:
                          type: integer
                          description: Default Attendance Status - Tardy
                        default_attendance_status_early_dismissal:
                          type: integer
                          description: Default Attendance Status - Early Dismissal
                        default_attendance_status_absent:
                          type: integer
                          description: Default Attendance Status - Absent
                        default_attendance_status_early_dismissal_return:
                          type: integer
                          description: Default Attendance Status - Early Dismissal Return
                        display_to_teachers:
                          type: boolean
                          description: Display to Teachers
                        sort_key:
                          type: integer
                          description: Sort Key
                      required:
                        - id
                        - description
                        - category
                        - default_request_status
                        - default_attendance_status_tardy
                        - default_attendance_status_early_dismissal
                        - default_attendance_status_absent
                        - default_attendance_status_early_dismissal_return
                        - display_to_teachers
                        - sort_key
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - category
                              - default_request_status
                              - default_attendance_status_tardy
                              - default_attendance_status_early_dismissal
                              - default_attendance_status_absent
                              - default_attendance_status_early_dismissal_return
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'student_logistics.reasons:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  /students:
    get:
      tags:
        - Students
      summary: List Students
      operationId: list_students
      parameters:
        - name: household_id
          in: query
          description: Household ID
          required: false
          schema:
            type: integer
        - name: homeroom
          in: query
          description: Homeroom
          required: false
          schema:
            type: integer
        - name: homeroom_teacher_id
          in: query
          description: Homeroom Teacher ID
          required: false
          schema:
            type: integer
        - name: advisor_id
          in: query
          description: Advisor ID
          required: false
          schema:
            type: integer
        - name: campus_id
          in: query
          description: Campus
          required: false
          schema:
            type: integer
        - name: role
          in: query
          description: Role
          required: false
          schema:
            type: integer
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_entry_date
          in: query
          description: |-
            Entry Date

            This is the original date on which the student started school. Should be the first day of the school year for new students, or a date during the school year for mid-year enrollees.
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_entry_date
          in: query
          description: |-
            Entry Date

            This is the original date on which the student started school. Should be the first day of the school year for new students, or a date during the school year for mid-year enrollees.
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_exit_date
          in: query
          description: |-
            Exit Date

            The last day the student was in school. Should be either the last day of the school year, or last day the student was in class.
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_exit_date
          in: query
          description: |-
            Exit Date

            The last day the student was in school. Should be either the last day of the school year, or last day the student was in class.
          required: false
          schema:
            type: string
            format: date
        - name: enrollment_status
          in: query
          description: Enrollment Status
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        first_name:
                          type: string
                          description: First Name
                          maxLength: 50
                        middle_name:
                          type: string
                          description: Middle Name
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name
                          maxLength: 50
                        preferred_name:
                          type: string
                          description: Preferred Name
                          maxLength: 50
                        household_id:
                          type: integer
                          description: Household ID
                          readOnly: true
                        gender:
                          type: integer
                          description: Gender
                        email_1:
                          type: string
                          description: |-
                            Email 1

                            This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                          maxLength: 100
                        grade_level:
                          type: integer
                          description: Current Grade
                        school_level:
                          type: integer
                          description: |-
                            School Level

                            Used for both Students &amp; Staff/Faculty

                            Definitions:

                            Students: defined based on the current grade level

                            Staff/Faculty: based on primary school level field

                            Note: Not typically used for Parents
                        graduation_year:
                          type: integer
                          description: Graduation Year
                        homeroom:
                          type: integer
                          description: Homeroom
                        homeroom_teacher:
                          type: object
                          properties:
                            name:
                              type: string
                              description: |-
                                Homeroom Teacher

                                Most Veracross clients will not want to update this field directly; rather, you will probably want to enroll the student in a homeroom class. When you do, this field will automatically populate with the homeroom class teacher.
                              readOnly: true
                            id:
                              type: integer
                              description: Homeroom Teacher ID
                          required:
                            - name
                            - id
                        advisor:
                          type: object
                          properties:
                            name:
                              type: string
                              description: |-
                                Advisor

                                Most Veracross clients will not want to update this field directly; rather, most Veracross clients will probably want to enroll the student in an Advisory class. When that is done, this field will automatically populate with the Advisory class teacher.
                              readOnly: true
                            id:
                              type: integer
                              description: Advisor ID
                          required:
                            - name
                            - id
                        campus:
                          type: object
                          properties:
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            id:
                              type: integer
                              description: Campus
                          required:
                            - description
                            - id
                        username:
                          type: string
                          description: Username
                          maxLength: 128
                        entry_date:
                          type: string
                          format: date
                          description: |-
                            Entry Date

                            This is the original date on which the student started school. Should be the first day of the school year for new students, or a date during the school year for mid-year enrollees.
                        exit_date:
                          type: string
                          format: date
                          description: |-
                            Exit Date

                            The last day the student was in school. Should be either the last day of the school year, or last day the student was in class.
                        birthday:
                          type: string
                          format: date
                          description: |-
                            Birthday

                            If staff/faculty, year is suppressed
                        roles:
                          type: string
                          description: |-
                            Roles

                            A list of all roles specified for this person.  Roles define this person&#39;s relationship to the school.  Can include &quot;virtual&quot; roles such as &quot;Relative of Alum&quot;.
                          readOnly: true
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                        enrollment_status:
                          type: integer
                          description: Enrollment Status
                          readOnly: true
                        house:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: House ID
                              readOnly: true
                            name:
                              type: string
                              description: House Name
                              readOnly: true
                          required:
                            - id
                            - name
                          readOnly: true
                        student_group:
                          type: integer
                          description: Student Group
                      required:
                        - id
                        - first_name
                        - middle_name
                        - last_name
                        - preferred_name
                        - household_id
                        - gender
                        - email_1
                        - grade_level
                        - school_level
                        - graduation_year
                        - homeroom
                        - homeroom_teacher
                        - advisor
                        - campus
                        - username
                        - entry_date
                        - exit_date
                        - birthday
                        - roles
                        - last_modified_date
                        - enrollment_status
                        - house
                        - student_group
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - gender
                              - grade_level
                              - school_level
                              - homeroom
                              - campus.id
                              - role
                              - enrollment_status
                              - student_group
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'students:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/students/{id}':
    get:
      tags:
        - Students
      summary: Read Students
      operationId: read_students
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      name_prefix:
                        type: integer
                        description: Name Prefix
                      first_name:
                        type: string
                        description: First Name
                        maxLength: 50
                      middle_name:
                        type: string
                        description: Middle Name
                        maxLength: 50
                      last_name:
                        type: string
                        description: Last Name
                        maxLength: 50
                      name_suffix:
                        type: integer
                        description: Name Suffix
                      preferred_name:
                        type: string
                        description: Preferred Name
                        maxLength: 50
                      household_id:
                        type: integer
                        description: Household ID
                        readOnly: true
                      email_1:
                        type: string
                        description: |-
                          Email 1

                          This should be used as the &quot;Preferred&quot; email for email blasts and other electronic correspondence.
                        maxLength: 100
                      birthday:
                        type: string
                        format: date
                        description: |-
                          Birthday

                          Birthday in MMM DD YYYY format
                      gender:
                        type: integer
                        description: Gender
                      school_level:
                        type: integer
                        description: |-
                          School Level

                          Used for both Students &amp; Staff/Faculty

                          Definitions:

                          Students: defined based on the current grade level

                          Staff/Faculty: based on primary school level field

                          Note: Not typically used for Parents
                      grade_level:
                        type: integer
                        description: Current Grade
                      graduation_year:
                        type: integer
                        description: Graduation Year
                      homeroom:
                        type: integer
                        description: Homeroom
                      homeroom_teacher:
                        type: object
                        properties:
                          name:
                            type: string
                            description: |-
                              Homeroom Teacher

                              Most Veracross clients will not want to update this field directly; rather, you will probably want to enroll the student in a homeroom class. When you do, this field will automatically populate with the homeroom class teacher.
                            readOnly: true
                          id:
                            type: integer
                            description: Homeroom Teacher ID
                        required:
                          - name
                          - id
                      advisor:
                        type: object
                        properties:
                          name:
                            type: string
                            description: |-
                              Advisor

                              Most Veracross clients will not want to update this field directly; rather, most Veracross clients will probably want to enroll the student in an Advisory class. When that is done, this field will automatically populate with the Advisory class teacher.
                            readOnly: true
                          id:
                            type: integer
                            description: Advisor ID
                        required:
                          - name
                          - id
                      current_location:
                        type: string
                        description: |-
                          Current Location

                          Where the student currently is
                        readOnly: true
                      campus:
                        type: integer
                        description: Campus
                      username:
                        type: string
                        description: Username
                        maxLength: 128
                      entry_date:
                        type: string
                        format: date
                        description: |-
                          Entry Date

                          This is the original date on which the student started school. Should be the first day of the school year for new students, or a date during the school year for mid-year enrollees.
                      exit_date:
                        type: string
                        format: date
                        description: |-
                          Exit Date

                          The last day the student was in school. Should be either the last day of the school year, or last day the student was in class.
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                      enrollment_status:
                        type: integer
                        description: Enrollment Status
                        readOnly: true
                    required:
                      - id
                      - name_prefix
                      - first_name
                      - middle_name
                      - last_name
                      - name_suffix
                      - preferred_name
                      - household_id
                      - email_1
                      - birthday
                      - gender
                      - school_level
                      - grade_level
                      - graduation_year
                      - homeroom
                      - homeroom_teacher
                      - advisor
                      - current_location
                      - campus
                      - username
                      - entry_date
                      - exit_date
                      - last_modified_date
                      - enrollment_status
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - name_prefix
                              - name_suffix
                              - gender
                              - school_level
                              - grade_level
                              - homeroom
                              - campus
                              - enrollment_status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'students:read'
    parameters:
      - name: id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/summer/classes/{internal_class_id}/attendance':
    get:
      tags:
        - 'Summer: Class Attendance'
      summary: 'List Summer: Class Attendance'
      operationId: list_summer_class_attendance
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: on_or_before_attendance_date
          in: query
          description: Attendance Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_attendance_date
          in: query
          description: Attendance Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Class Attendance ID
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        attendance_date:
                          type: string
                          format: date
                          description: Attendance Date
                        block_id:
                          type: integer
                          description: ID
                          readOnly: true
                        start_time:
                          type: string
                          format: date-time
                          description: Class Begin Time
                          readOnly: true
                        end_time:
                          type: string
                          format: date-time
                          description: Class End Time
                          readOnly: true
                        status:
                          type: integer
                          description: Status
                        notes:
                          type: string
                          description: Notes
                          maxLength: 500
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - person_id
                        - attendance_date
                        - block_id
                        - start_time
                        - end_time
                        - status
                        - notes
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'summer.classes.attendance:list'
    parameters:
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/summer/classes/{internal_class_id}/attendance/{id}':
    get:
      tags:
        - 'Summer: Class Attendance'
      summary: 'Read Summer: Class Attendance'
      operationId: read_summer_class_attendance
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Class Attendance ID
                        readOnly: true
                      person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      attendance_date:
                        type: string
                        format: date
                        description: Attendance Date
                      block_id:
                        type: integer
                        description: ID
                        readOnly: true
                      start_time:
                        type: string
                        format: date-time
                        description: Class Begin Time
                        readOnly: true
                      end_time:
                        type: string
                        format: date-time
                        description: Class End Time
                        readOnly: true
                      status:
                        type: integer
                        description: Status
                      notes:
                        type: string
                        description: Notes
                        maxLength: 500
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - person_id
                      - attendance_date
                      - block_id
                      - start_time
                      - end_time
                      - status
                      - notes
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'summer.classes.attendance:read'
    parameters:
      - name: id
        in: path
        description: Class Attendance ID
        required: true
        schema:
          type: integer
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Summer: Class Attendance'
      summary: 'Update Summer: Class Attendance'
      operationId: update_summer_class_attendance
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Class Attendance ID
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    attendance_date:
                      type: string
                      format: date
                      description: Attendance Date
                    block_id:
                      type: integer
                      description: ID
                      readOnly: true
                    start_time:
                      type: string
                      format: date-time
                      description: Class Begin Time
                      readOnly: true
                    end_time:
                      type: string
                      format: date-time
                      description: Class End Time
                      readOnly: true
                    status:
                      type: integer
                      description: Status
                    notes:
                      type: string
                      description: Notes
                      maxLength: 500
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'summer.classes.attendance:update'
  '/summer/classes/{internal_class_id}/meeting_times':
    get:
      tags:
        - 'Summer: Class Meeting Times'
      summary: 'List Summer: Class Meeting Times'
      operationId: list_summer_class_meeting_times
      parameters:
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Class Calendar Day ID
                          readOnly: true
                        internal_class_id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        date:
                          type: string
                          format: date
                          description: Calendar Date
                        start_time:
                          type: string
                          description: Start Time
                          readOnly: true
                        end_time:
                          type: string
                          description: End Time
                          readOnly: true
                        grading_period:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Grading Period
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 20
                          required:
                            - id
                            - description
                            - abbreviation
                        day:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Day
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 8
                          required:
                            - id
                            - description
                            - abbreviation
                        block:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Block
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              maxLength: 6
                          required:
                            - id
                            - description
                            - abbreviation
                        room:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Room
                            description:
                              type: string
                              description: Description
                              maxLength: 100
                          required:
                            - id
                            - description
                      required:
                        - id
                        - internal_class_id
                        - date
                        - start_time
                        - end_time
                        - grading_period
                        - day
                        - block
                        - room
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - grading_period.id
                              - day.id
                              - block.id
                              - room.id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'summer.classes.meeting_times:list'
    parameters:
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/summer/classes/{internal_class_id}/meeting_times/{id}':
    get:
      tags:
        - 'Summer: Class Meeting Times'
      summary: 'Read Summer: Class Meeting Times'
      operationId: read_summer_class_meeting_times
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Class Calendar Day ID
                        readOnly: true
                      internal_class_id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      date:
                        type: string
                        format: date
                        description: Calendar Date
                      start_time:
                        type: string
                        description: Start Time
                        readOnly: true
                      end_time:
                        type: string
                        description: End Time
                        readOnly: true
                      grading_period:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Grading Period
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 20
                        required:
                          - id
                          - description
                          - abbreviation
                      day:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Day
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 8
                        required:
                          - id
                          - description
                          - abbreviation
                      block:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Block
                          description:
                            type: string
                            description: Description
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            maxLength: 6
                        required:
                          - id
                          - description
                          - abbreviation
                      room:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Room
                          description:
                            type: string
                            description: Description
                            maxLength: 100
                        required:
                          - id
                          - description
                    required:
                      - id
                      - internal_class_id
                      - date
                      - start_time
                      - end_time
                      - grading_period
                      - day
                      - block
                      - room
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - grading_period.id
                              - day.id
                              - block.id
                              - room.id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'summer.classes.meeting_times:read'
    parameters:
      - name: id
        in: path
        description: Class Calendar Day ID
        required: true
        schema:
          type: integer
      - name: internal_class_id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /summer/classes:
    post:
      tags:
        - 'Summer: Classes'
      summary: 'Create Summer: Classes'
      operationId: create_summer_classes
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    class_id:
                      type: string
                      description: |-
                        Class ID

                        Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                        Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                      maxLength: 20
                    description:
                      type: string
                      description: Description
                      maxLength: 80
                    status:
                      type: integer
                      description: |-
                        Status

                        Status of the class (active, future, etc.)
                    school_year:
                      type: integer
                      description: School Year
                    begin_date:
                      type: string
                      format: date
                      description: Begin Date
                    end_date:
                      type: string
                      format: date
                      description: End Date
                    primary_grade_level:
                      type: integer
                      description: Primary Grade Level
                    school_level:
                      type: integer
                      description: School Level
                    internal_course_id:
                      type: integer
                      description: Course ID
                    primary_teacher_id:
                      type: integer
                      description: Teacher ID
                    room_id:
                      type: integer
                      description: Room ID
                    virtual_meeting_url:
                      type: string
                      description: |-
                        Virtual Meeting URL

                        To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                      maxLength: 2000
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
                  required:
                    - class_id
                    - description
                    - internal_course_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'summer.classes:create'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    get:
      tags:
        - 'Summer: Classes'
      summary: 'List Summer: Classes'
      operationId: list_summer_classes
      parameters:
        - name: id
          in: query
          description: Internal Class ID
          required: false
          schema:
            type: integer
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: primary_teacher_id
          in: query
          description: Teacher ID
          required: false
          schema:
            type: integer
        - name: room_id
          in: query
          description: Room ID
          required: false
          schema:
            type: integer
        - name: last_modfied_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        class_id:
                          type: string
                          description: |-
                            Class ID

                            Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                            Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                          maxLength: 20
                        description:
                          type: string
                          description: Description
                          maxLength: 80
                        status:
                          type: integer
                          description: |-
                            Status

                            Status of the class (active, future, etc.)
                        school_year:
                          type: integer
                          description: School Year
                        begin_date:
                          type: string
                          format: date
                          description: Begin Date
                        end_date:
                          type: string
                          format: date
                          description: End Date
                        primary_grade_level:
                          type: integer
                          description: Primary Grade Level
                        school_level:
                          type: integer
                          description: School Level
                        internal_course_id:
                          type: string
                          description: Course
                        primary_teacher_id:
                          type: integer
                          description: Teacher ID
                        room_id:
                          type: integer
                          description: Room ID
                        virtual_meeting_url:
                          type: string
                          description: |-
                            Virtual Meeting URL

                            To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                          maxLength: 2000
                        subject_id:
                          type: integer
                          description: ID
                          readOnly: true
                        subject_description:
                          type: string
                          description: Description
                          maxLength: 50
                        department_id:
                          type: integer
                          description: ID
                          readOnly: true
                        department_description:
                          type: string
                          description: Description
                          maxLength: 100
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - class_id
                        - description
                        - status
                        - school_year
                        - begin_date
                        - end_date
                        - primary_grade_level
                        - school_level
                        - internal_course_id
                        - primary_teacher_id
                        - room_id
                        - virtual_meeting_url
                        - subject_id
                        - subject_description
                        - department_id
                        - department_description
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                              - school_year
                              - primary_grade_level
                              - school_level
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'summer.classes:list'
  '/summer/classes/{id}':
    get:
      tags:
        - 'Summer: Classes'
      summary: 'Read Summer: Classes'
      operationId: read_summer_classes
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      class_id:
                        type: string
                        description: |-
                          Class ID

                          Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                          Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                        maxLength: 20
                      description:
                        type: string
                        description: Description
                        maxLength: 80
                      status:
                        type: integer
                        description: |-
                          Status

                          Status of the class (active, future, etc.)
                      school_year:
                        type: integer
                        description: School Year
                      begin_date:
                        type: string
                        format: date
                        description: Begin Date
                      end_date:
                        type: string
                        format: date
                        description: End Date
                      primary_grade_level:
                        type: integer
                        description: Primary Grade Level
                      school_level:
                        type: integer
                        description: School Level
                      internal_course_id:
                        type: integer
                        description: Course ID
                      primary_teacher_id:
                        type: integer
                        description: Teacher ID
                      room_id:
                        type: integer
                        description: Room ID
                      virtual_meeting_url:
                        type: string
                        description: |-
                          Virtual Meeting URL

                          To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                        maxLength: 2000
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - class_id
                      - description
                      - status
                      - school_year
                      - begin_date
                      - end_date
                      - primary_grade_level
                      - school_level
                      - internal_course_id
                      - primary_teacher_id
                      - room_id
                      - virtual_meeting_url
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - status
                              - school_year
                              - primary_grade_level
                              - school_level
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'summer.classes:read'
    parameters:
      - name: id
        in: path
        description: Internal Class ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Summer: Classes'
      summary: 'Update Summer: Classes'
      operationId: update_summer_classes
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    class_id:
                      type: string
                      description: |-
                        Class ID

                        Class ID associated with this class. School-defined value. Must be unique in the school year. Special characters, punctuation, and spaces are not sufficient for uniqueness. 



                        Example: GYM 1 and GYM: 1 are not unique. GYM 1a and GYM 1b are unique.
                      maxLength: 20
                    description:
                      type: string
                      description: Description
                      maxLength: 80
                    status:
                      type: integer
                      description: |-
                        Status

                        Status of the class (active, future, etc.)
                    school_year:
                      type: integer
                      description: School Year
                    begin_date:
                      type: string
                      format: date
                      description: Begin Date
                    end_date:
                      type: string
                      format: date
                      description: End Date
                    primary_grade_level:
                      type: integer
                      description: Primary Grade Level
                    school_level:
                      type: integer
                      description: School Level
                    internal_course_id:
                      type: integer
                      description: Course ID
                    primary_teacher_id:
                      type: integer
                      description: Teacher ID
                    room_id:
                      type: integer
                      description: Room ID
                    virtual_meeting_url:
                      type: string
                      description: |-
                        Virtual Meeting URL

                        To toggle the display of this field in the daily student/faculty schedule, update the configuration on the Website Configuration tab.
                      maxLength: 2000
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'summer.classes:update'
  /summer/courses:
    get:
      tags:
        - 'Summer: Courses'
      summary: 'List Summer: Courses'
      operationId: list_summer_courses
      parameters:
        - name: classification
          in: query
          description: Classification
          required: false
          schema:
            type: integer
        - name: on_or_before_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - name: on_or_after_last_modified_date
          in: query
          description: Last Modified Date
          required: false
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Internal Course ID
                          readOnly: true
                        name:
                          type: string
                          description: Course Name
                          maxLength: 100
                        course_id:
                          type: string
                          description: Course ID
                          maxLength: 15
                        classification:
                          type: integer
                          description: Classification
                        catalog_title:
                          type: string
                          description: Catalog Title
                          maxLength: 100
                        catalog_description:
                          type: string
                          description: Catalog Description
                          maxLength: 8000
                        subject_id:
                          type: integer
                          description: Subject ID
                        subject_description:
                          type: string
                          description: Description
                          maxLength: 50
                        department_id:
                          type: integer
                          description: ID
                          readOnly: true
                        department_description:
                          type: string
                          description: Description
                          maxLength: 100
                        last_modified_date:
                          type: string
                          format: date-time
                          description: Last Modified Date
                          readOnly: true
                      required:
                        - id
                        - name
                        - course_id
                        - classification
                        - catalog_title
                        - catalog_description
                        - subject_id
                        - subject_description
                        - department_id
                        - department_description
                        - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - classification
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'summer.courses:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    post:
      tags:
        - 'Summer: Courses'
      summary: 'Create Summer: Courses'
      operationId: create_summer_courses
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    name:
                      type: string
                      description: Description
                      maxLength: 100
                    subject_id:
                      type: string
                      description: Subject
                    course_id:
                      type: string
                      description: Course ID
                      maxLength: 15
                    catalog_title:
                      type: string
                      description: Catalog Title
                      maxLength: 100
                    catalog_description:
                      type: string
                      description: Notes
                      maxLength: 8000
                  required:
                    - name
                    - subject_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'summer.courses:create'
  '/summer/courses/{id}':
    get:
      tags:
        - 'Summer: Courses'
      summary: 'Read Summer: Courses'
      operationId: read_summer_courses
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Internal Course ID
                        readOnly: true
                      name:
                        type: string
                        description: Course Name
                        maxLength: 100
                      course_id:
                        type: string
                        description: Course ID
                        maxLength: 15
                      classification:
                        type: integer
                        description: Classification
                      catalog_title:
                        type: string
                        description: Catalog Title
                        maxLength: 100
                      catalog_description:
                        type: string
                        description: Catalog Description
                        maxLength: 8000
                      subject_id:
                        type: integer
                        description: Subject ID
                      subject_description:
                        type: string
                        description: Description
                        maxLength: 50
                      department_id:
                        type: integer
                        description: ID
                        readOnly: true
                      department_description:
                        type: string
                        description: Description
                        maxLength: 100
                      last_modified_date:
                        type: string
                        format: date-time
                        description: Last Modified Date
                        readOnly: true
                    required:
                      - id
                      - name
                      - course_id
                      - classification
                      - catalog_title
                      - catalog_description
                      - subject_id
                      - subject_description
                      - department_id
                      - department_description
                      - last_modified_date
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - classification
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'summer.courses:read'
    parameters:
      - name: id
        in: path
        description: Internal Course ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Summer: Courses'
      summary: 'Update Summer: Courses'
      operationId: update_summer_courses
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Internal Course ID
                      readOnly: true
                    name:
                      type: string
                      description: Course Name
                      maxLength: 100
                    course_id:
                      type: string
                      description: Course ID
                      maxLength: 15
                    classification:
                      type: integer
                      description: Classification
                    catalog_title:
                      type: string
                      description: Catalog Title
                      maxLength: 100
                    catalog_description:
                      type: string
                      description: Catalog Description
                      maxLength: 8000
                    subject_id:
                      type: integer
                      description: Subject ID
                    subject_description:
                      type: string
                      description: Description
                      maxLength: 50
                    department_id:
                      type: integer
                      description: ID
                      readOnly: true
                    department_description:
                      type: string
                      description: Description
                      maxLength: 100
                    last_modified_date:
                      type: string
                      format: date-time
                      description: Last Modified Date
                      readOnly: true
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'summer.courses:update'
  /summer/enrollments:
    get:
      tags:
        - 'Summer: Enrollments'
      summary: 'List Summer: Enrollments'
      operationId: list_summer_enrollments
      parameters:
        - name: internal_class_id
          in: query
          description: Internal Class ID
          required: false
          schema:
            type: integer
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: exclude_from_transcript
          in: query
          description: |-
            Exclude From Transcript

            Excludes posted grades for this enrollment from being posted to the transcript.  Selecting this option does NOT impact this student&#39;s GPA.
          required: false
          schema:
            type: boolean
        - name: school_year
          in: query
          description: School Year
          required: false
          schema:
            type: integer
        - name: subject
          in: query
          description: Subject
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Enrollment ID
                          readOnly: true
                        internal_class_id:
                          type: integer
                          description: Internal Class ID
                          readOnly: true
                        class_description:
                          type: string
                          description: Description
                          maxLength: 80
                        primary_teacher:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Teacher ID
                              readOnly: true
                            name_prefix:
                              type: string
                              description: Description
                              readOnly: true
                            first_name:
                              type: string
                              description: First Name
                              readOnly: true
                              maxLength: 50
                            middle_name:
                              type: string
                              description: Middle Name
                              readOnly: true
                              maxLength: 50
                            last_name:
                              type: string
                              description: Last Name
                              readOnly: true
                              maxLength: 50
                            name_suffix:
                              type: string
                              description: Description
                              readOnly: true
                            preferred_name:
                              type: string
                              description: Preferred Name
                              readOnly: true
                              maxLength: 50
                          required:
                            - id
                            - name_prefix
                            - first_name
                            - middle_name
                            - last_name
                            - name_suffix
                            - preferred_name
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        grade_level_id:
                          type: integer
                          description: ID
                          readOnly: true
                        currently_enrolled:
                          type: boolean
                          description: |-
                            Currently Enrolled

                            A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                            For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                        late_date_enrolled:
                          type: string
                          format: date
                          description: |-
                            Late Date Enrolled

                            The date the student enrolled in the class
                        date_withdrawn:
                          type: string
                          format: date
                          description: |-
                            Date Withdrawn

                            The date the student withdrew from the class
                        level:
                          type: integer
                          description: |-
                            Enrollment Level

                            The enrollment level is used when some students are taking the class for a different level of credit than other students. If all students are taking the course for the same level of credit, setting the enrollment level is NOT necessary. If the student&#39;s enrollment level should influence GPA, please review &quot;override grade conversion scale&quot; on the student&#39;s class enrollment record.
                        exclude_from_transcript:
                          type: boolean
                          description: |-
                            Exclude From Transcript

                            Excludes posted grades for this enrollment from being posted to the transcript.  Selecting this option does NOT impact this student&#39;s GPA.
                        notes:
                          type: string
                          description: Notes
                          maxLength: 1000
                      required:
                        - id
                        - internal_class_id
                        - class_description
                        - primary_teacher
                        - person_id
                        - grade_level_id
                        - currently_enrolled
                        - late_date_enrolled
                        - date_withdrawn
                        - level
                        - exclude_from_transcript
                        - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - level
                              - school_year
                              - subject
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'summer.enrollments:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
    post:
      tags:
        - 'Summer: Enrollments'
      summary: 'Create Summer: Enrollments'
      operationId: create_summer_enrollments
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Enrollment ID
                      readOnly: true
                    internal_class_id:
                      type: integer
                      description: Internal Class ID
                    person_id:
                      type: integer
                      description: Person ID
                    grade_level_id:
                      type: integer
                      description: ID
                      readOnly: true
                    currently_enrolled:
                      type: boolean
                      description: |-
                        Currently Enrolled

                        A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                        For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                    late_date_enrolled:
                      type: string
                      format: date
                      description: |-
                        Late Date Enrolled

                        The date the student enrolled in the class
                    date_withdrawn:
                      type: string
                      format: date
                      description: |-
                        Date Withdrawn

                        The date the student withdrew from the class
                    level:
                      type: integer
                      description: |-
                        Enrollment Level

                        The enrollment level is used when some students are taking the class for a different level of credit than other students. If all students are taking the course for the same level of credit, setting the enrollment level is NOT necessary. If the student&#39;s enrollment level should influence GPA, please review &quot;override grade conversion scale&quot; on the student&#39;s class enrollment record.
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
                  required:
                    - internal_class_id
                    - person_id
              required:
                - data
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post'
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'summer.enrollments:create'
  '/summer/enrollments/{id}':
    get:
      tags:
        - 'Summer: Enrollments'
      summary: 'Read Summer: Enrollments'
      operationId: read_summer_enrollments
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Enrollment ID
                        readOnly: true
                      internal_class_id:
                        type: integer
                        description: Internal Class ID
                        readOnly: true
                      class_description:
                        type: string
                        description: Description
                        maxLength: 80
                      primary_teacher:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Teacher ID
                            readOnly: true
                          name_prefix:
                            type: string
                            description: Description
                            readOnly: true
                          first_name:
                            type: string
                            description: First Name
                            readOnly: true
                            maxLength: 50
                          middle_name:
                            type: string
                            description: Middle Name
                            readOnly: true
                            maxLength: 50
                          last_name:
                            type: string
                            description: Last Name
                            readOnly: true
                            maxLength: 50
                          name_suffix:
                            type: string
                            description: Description
                            readOnly: true
                          preferred_name:
                            type: string
                            description: Preferred Name
                            readOnly: true
                            maxLength: 50
                        required:
                          - id
                          - name_prefix
                          - first_name
                          - middle_name
                          - last_name
                          - name_suffix
                          - preferred_name
                        readOnly: true
                      person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      grade_level_id:
                        type: integer
                        description: ID
                        readOnly: true
                      currently_enrolled:
                        type: boolean
                        description: |-
                          Currently Enrolled

                          A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                          For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                      late_date_enrolled:
                        type: string
                        format: date
                        description: |-
                          Late Date Enrolled

                          The date the student enrolled in the class
                      date_withdrawn:
                        type: string
                        format: date
                        description: |-
                          Date Withdrawn

                          The date the student withdrew from the class
                      level:
                        type: integer
                        description: |-
                          Enrollment Level

                          The enrollment level is used when some students are taking the class for a different level of credit than other students. If all students are taking the course for the same level of credit, setting the enrollment level is NOT necessary. If the student&#39;s enrollment level should influence GPA, please review &quot;override grade conversion scale&quot; on the student&#39;s class enrollment record.
                      exclude_from_transcript:
                        type: boolean
                        description: |-
                          Exclude From Transcript

                          Excludes posted grades for this enrollment from being posted to the transcript.  Selecting this option does NOT impact this student&#39;s GPA.
                      notes:
                        type: string
                        description: Notes
                        maxLength: 1000
                    required:
                      - id
                      - internal_class_id
                      - class_description
                      - primary_teacher
                      - person_id
                      - grade_level_id
                      - currently_enrolled
                      - late_date_enrolled
                      - date_withdrawn
                      - level
                      - exclude_from_transcript
                      - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - level
                              - school_year
                              - subject
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'summer.enrollments:read'
    parameters:
      - name: id
        in: path
        description: Enrollment ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
    patch:
      tags:
        - 'Summer: Enrollments'
      summary: 'Update Summer: Enrollments'
      operationId: update_summer_enrollments
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Enrollment ID
                      readOnly: true
                    internal_class_id:
                      type: integer
                      description: Internal Class ID
                      readOnly: true
                    class_description:
                      type: string
                      description: Description
                      maxLength: 80
                    primary_teacher:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Teacher ID
                          readOnly: true
                        name_prefix:
                          type: string
                          description: Description
                          readOnly: true
                        first_name:
                          type: string
                          description: First Name
                          readOnly: true
                          maxLength: 50
                        middle_name:
                          type: string
                          description: Middle Name
                          readOnly: true
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name
                          readOnly: true
                          maxLength: 50
                        name_suffix:
                          type: string
                          description: Description
                          readOnly: true
                        preferred_name:
                          type: string
                          description: Preferred Name
                          readOnly: true
                          maxLength: 50
                      required:
                        - id
                        - name_prefix
                        - first_name
                        - middle_name
                        - last_name
                        - name_suffix
                        - preferred_name
                      readOnly: true
                    person_id:
                      type: integer
                      description: Person ID
                      readOnly: true
                    grade_level_id:
                      type: integer
                      description: ID
                      readOnly: true
                    currently_enrolled:
                      type: boolean
                      description: |-
                        Currently Enrolled

                        A read-only calculated field, this field indicates whether the student is currently enrolled in the class. It is based on a combination of the &quot;Late Date Enrolled&quot; and &quot;Date Withdrawn&quot; fields.



                        For Classes with a waitlist, if the student is on the waitlist, this field will also report they are not in the class.
                    late_date_enrolled:
                      type: string
                      format: date
                      description: |-
                        Late Date Enrolled

                        The date the student enrolled in the class
                    date_withdrawn:
                      type: string
                      format: date
                      description: |-
                        Date Withdrawn

                        The date the student withdrew from the class
                    level:
                      type: integer
                      description: |-
                        Enrollment Level

                        The enrollment level is used when some students are taking the class for a different level of credit than other students. If all students are taking the course for the same level of credit, setting the enrollment level is NOT necessary. If the student&#39;s enrollment level should influence GPA, please review &quot;override grade conversion scale&quot; on the student&#39;s class enrollment record.
                    exclude_from_transcript:
                      type: boolean
                      description: |-
                        Exclude From Transcript

                        Excludes posted grades for this enrollment from being posted to the transcript.  Selecting this option does NOT impact this student&#39;s GPA.
                    notes:
                      type: string
                      description: Notes
                      maxLength: 1000
              required:
                - data
      responses:
        '204':
          description: No Content
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'summer.enrollments:update'
  '/transcripts/{person_id}/academic_classifications':
    get:
      tags:
        - 'Transcripts: Academic Classifications'
      summary: 'List Transcripts: Academic Classifications'
      operationId: list_transcripts_academic_classifications
      parameters:
        - name: school_year
          in: query
          description: Year
          required: true
          schema:
            type: integer
        - name: grading_period
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person Academic Classification ID
                          readOnly: true
                        academic_classification:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Academic Classification Configuration ID
                              readOnly: true
                            transcript_description:
                              type: string
                              description: |-
                                Transcript Description

                                The description field is the title for the academic classification that will appear on the school-configurable transcript document.
                              readOnly: true
                              maxLength: 200
                            description:
                              type: string
                              description: |-
                                Description

                                The description field is a title for the Academic Classification configuration record. It is helpful to designate a description that defines the general category of the classification, e.g. &quot;Honor Roll&quot;. 



                                NOTE: Academic Classification configuration records provide a hierarchy for structuring multiple levels of a given category, e.g. an &quot;Honor Roll&quot; academic classification configuration may contain levels like &quot;Honors&quot;, &quot;High Honors&quot;, and &quot;Highest Honors&quot;, each with independent criteria logic.
                              readOnly: true
                              maxLength: 200
                            sort_key:
                              type: integer
                              description: |-
                                Sort Key

                                The sort key field defines how the academic classification record will be ordered among all academic classification records that exist.
                              readOnly: true
                          required:
                            - id
                            - transcript_description
                            - description
                            - sort_key
                          readOnly: true
                        school_year:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Year
                              readOnly: true
                            abbreviation:
                              type: string
                              description: School Year
                              readOnly: true
                              maxLength: 9
                            description:
                              type: string
                              description: School Year Description Long
                              readOnly: true
                              maxLength: 9
                            sort_key:
                              type: integer
                              description: Sort Key
                              readOnly: true
                          required:
                            - id
                            - abbreviation
                            - description
                            - sort_key
                          readOnly: true
                        grading_period:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              readOnly: true
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              readOnly: true
                              maxLength: 20
                            sort_key:
                              type: integer
                              description: Sort Key
                              readOnly: true
                          required:
                            - id
                            - description
                            - abbreviation
                            - sort_key
                          readOnly: true
                        classification_level:
                          type: integer
                          description: Actual Classification Level
                          readOnly: true
                      required:
                        - id
                        - academic_classification
                        - school_year
                        - grading_period
                        - classification_level
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - classification_level
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'transcripts.academic_classifications:list'
    parameters:
      - name: person_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/transcripts/{person_id}/academic_classifications/{id}':
    get:
      tags:
        - 'Transcripts: Academic Classifications'
      summary: 'Read Transcripts: Academic Classifications'
      operationId: read_transcripts_academic_classifications
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person Academic Classification ID
                        readOnly: true
                      academic_classification:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Academic Classification Configuration ID
                            readOnly: true
                          transcript_description:
                            type: string
                            description: |-
                              Transcript Description

                              The description field is the title for the academic classification that will appear on the school-configurable transcript document.
                            readOnly: true
                            maxLength: 200
                          description:
                            type: string
                            description: |-
                              Description

                              The description field is a title for the Academic Classification configuration record. It is helpful to designate a description that defines the general category of the classification, e.g. &quot;Honor Roll&quot;. 



                              NOTE: Academic Classification configuration records provide a hierarchy for structuring multiple levels of a given category, e.g. an &quot;Honor Roll&quot; academic classification configuration may contain levels like &quot;Honors&quot;, &quot;High Honors&quot;, and &quot;Highest Honors&quot;, each with independent criteria logic.
                            readOnly: true
                            maxLength: 200
                          sort_key:
                            type: integer
                            description: |-
                              Sort Key

                              The sort key field defines how the academic classification record will be ordered among all academic classification records that exist.
                            readOnly: true
                        required:
                          - id
                          - transcript_description
                          - description
                          - sort_key
                        readOnly: true
                      school_year:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Year
                            readOnly: true
                          abbreviation:
                            type: string
                            description: School Year
                            readOnly: true
                            maxLength: 9
                          description:
                            type: string
                            description: School Year Description Long
                            readOnly: true
                            maxLength: 9
                          sort_key:
                            type: integer
                            description: Sort Key
                            readOnly: true
                        required:
                          - id
                          - abbreviation
                          - description
                          - sort_key
                        readOnly: true
                      grading_period:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            readOnly: true
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            readOnly: true
                            maxLength: 20
                          sort_key:
                            type: integer
                            description: Sort Key
                            readOnly: true
                        required:
                          - id
                          - description
                          - abbreviation
                          - sort_key
                        readOnly: true
                      classification_level:
                        type: integer
                        description: Actual Classification Level
                        readOnly: true
                    required:
                      - id
                      - academic_classification
                      - school_year
                      - grading_period
                      - classification_level
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - classification_level
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'transcripts.academic_classifications:read'
    parameters:
      - name: id
        in: path
        description: Person Academic Classification ID
        required: true
        schema:
          type: integer
      - name: person_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/transcripts/{person_id}/gpas':
    get:
      tags:
        - 'Transcripts: GPAs'
      summary: 'List Transcripts: GPAs'
      operationId: list_transcripts_gpas
      parameters:
        - name: school_year
          in: query
          description: Year
          required: false
          schema:
            type: integer
        - name: grading_period
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person GPA ID
                          readOnly: true
                        gpa:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: |-
                                Description

                                Descriptive name for this GPA, also serves as the calculated field name.
                              readOnly: true
                              maxLength: 100
                            type:
                              type: integer
                              description: GPA Type
                              readOnly: true
                          required:
                            - id
                            - description
                            - type
                          readOnly: true
                        school_year:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Year
                              readOnly: true
                            abbreviation:
                              type: string
                              description: School Year
                              readOnly: true
                              maxLength: 9
                            description:
                              type: string
                              description: School Year Description Long
                              readOnly: true
                              maxLength: 9
                            sort_key:
                              type: integer
                              description: Sort Key
                              readOnly: true
                          required:
                            - id
                            - abbreviation
                            - description
                            - sort_key
                          readOnly: true
                        grading_period:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              readOnly: true
                            description:
                              type: string
                              description: Description
                              readOnly: true
                              maxLength: 50
                            abbreviation:
                              type: string
                              description: Abbreviation
                              readOnly: true
                              maxLength: 20
                            sort_key:
                              type: integer
                              description: Sort Key
                              readOnly: true
                          required:
                            - id
                            - description
                            - abbreviation
                            - sort_key
                          readOnly: true
                        value:
                          type: number
                          description: Actual GPA
                          readOnly: true
                      required:
                        - id
                        - gpa
                        - school_year
                        - grading_period
                        - value
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - gpa.type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'transcripts.gpas:list'
    parameters:
      - name: person_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/transcripts/{person_id}/gpas/{id}':
    get:
      tags:
        - 'Transcripts: GPAs'
      summary: 'Read Transcripts: GPAs'
      operationId: read_transcripts_gpas
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person GPA ID
                        readOnly: true
                      gpa:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: |-
                              Description

                              Descriptive name for this GPA, also serves as the calculated field name.
                            readOnly: true
                            maxLength: 100
                          type:
                            type: integer
                            description: GPA Type
                            readOnly: true
                        required:
                          - id
                          - description
                          - type
                        readOnly: true
                      school_year:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: Year
                            readOnly: true
                          abbreviation:
                            type: string
                            description: School Year
                            readOnly: true
                            maxLength: 9
                          description:
                            type: string
                            description: School Year Description Long
                            readOnly: true
                            maxLength: 9
                          sort_key:
                            type: integer
                            description: Sort Key
                            readOnly: true
                        required:
                          - id
                          - abbreviation
                          - description
                          - sort_key
                        readOnly: true
                      grading_period:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: ID
                            readOnly: true
                          description:
                            type: string
                            description: Description
                            readOnly: true
                            maxLength: 50
                          abbreviation:
                            type: string
                            description: Abbreviation
                            readOnly: true
                            maxLength: 20
                          sort_key:
                            type: integer
                            description: Sort Key
                            readOnly: true
                        required:
                          - id
                          - description
                          - abbreviation
                          - sort_key
                        readOnly: true
                      value:
                        type: number
                        description: Actual GPA
                        readOnly: true
                    required:
                      - id
                      - gpa
                      - school_year
                      - grading_period
                      - value
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - gpa.type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'transcripts.gpas:read'
    parameters:
      - name: id
        in: path
        description: Person GPA ID
        required: true
        schema:
          type: integer
      - name: person_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/transcripts/student_info/{person_id}':
    get:
      tags:
        - 'Transcripts: Student Information'
      summary: 'Read Transcripts: Student Information'
      operationId: read_transcripts_student_information
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Transcript ID
                        readOnly: true
                      student_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      student_name:
                        type: object
                        properties:
                          full_name:
                            type: string
                            description: |-
                              Full Name

                              The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                            readOnly: true
                          prefix:
                            type: integer
                            description: Name Prefix
                          first:
                            type: string
                            description: First Name
                            maxLength: 50
                          preferred:
                            type: string
                            description: Preferred Name
                            maxLength: 50
                          middle:
                            type: string
                            description: Middle Name
                            maxLength: 50
                          middle_initial:
                            type: string
                            description: Middle Initial
                            readOnly: true
                            maxLength: 50
                          last:
                            type: string
                            description: Last Name
                            maxLength: 50
                          suffix:
                            type: integer
                            description: Name Suffix
                        required:
                          - full_name
                          - prefix
                          - first
                          - preferred
                          - middle
                          - middle_initial
                          - last
                          - suffix
                      student_address:
                        type: object
                        properties:
                          address_1:
                            type: string
                            description: Address 1
                            readOnly: true
                          address_2:
                            type: string
                            description: Address 2
                            readOnly: true
                          address_3:
                            type: string
                            description: Address 3
                            readOnly: true
                          city:
                            type: string
                            description: City
                            readOnly: true
                          state:
                            type: string
                            description: State
                            readOnly: true
                          country:
                            type: integer
                            description: Country
                            readOnly: true
                          postal_code:
                            type: string
                            description: Postal Code
                            readOnly: true
                          zip_code:
                            type: string
                            description: |-
                              Zip (5-digit)

                              displays the 5-digit US postal code, for other countries the full postal code is displayed
                            readOnly: true
                        required:
                          - address_1
                          - address_2
                          - address_3
                          - city
                          - state
                          - country
                          - postal_code
                          - zip_code
                        readOnly: true
                      gender:
                        type: integer
                        description: Gender
                        readOnly: true
                      date_of_birth:
                        type: string
                        description: |-
                          Birthday (verbose)

                          a text field for displaying the date in the format of January 5, 2003
                        readOnly: true
                      current_grade:
                        type: integer
                        description: Current Grade
                        readOnly: true
                      graduation_year:
                        type: integer
                        description: Graduation Year
                        readOnly: true
                      entry_date:
                        type: string
                        format: date
                        description: |-
                          Entry Date

                          This is the original date on which the student started school. Should be the first day of the school year for new students, or a date during the school year for mid-year enrollees.
                      graduation_date:
                        type: string
                        format: date
                        description: Graduation Date
                      exit_date:
                        type: string
                        format: date
                        description: |-
                          Exit Date

                          The last day the student was in school. Should be either the last day of the school year, or last day the student was in class.
                      transfer_student:
                        type: boolean
                        description: Transfer Student
                        readOnly: true
                      transcript_notes:
                        type: string
                        description: Notes
                      parent_1_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      parent_2_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      parent_3_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      parent_4_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                    required:
                      - id
                      - student_id
                      - student_name
                      - student_address
                      - gender
                      - date_of_birth
                      - current_grade
                      - graduation_year
                      - entry_date
                      - graduation_date
                      - exit_date
                      - transfer_student
                      - transcript_notes
                      - parent_1_id
                      - parent_2_id
                      - parent_3_id
                      - parent_4_id
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - student_name.prefix
                              - student_name.suffix
                              - student_address.country
                              - gender
                              - current_grade
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'transcripts.student_info:read'
    parameters:
      - name: person_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /transcripts/student_info:
    get:
      tags:
        - 'Transcripts: Student Information'
      summary: 'List Transcripts: Student Information'
      operationId: list_transcripts_student_information
      parameters:
        - name: graduation_year
          in: query
          description: Graduation Year
          required: false
          schema:
            type: integer
        - name: on_or_before_graduation_date
          in: query
          description: Graduation Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_graduation_date
          in: query
          description: Graduation Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_exit_date
          in: query
          description: |-
            Exit Date

            The last day the student was in school. Should be either the last day of the school year, or last day the student was in class.
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_exit_date
          in: query
          description: |-
            Exit Date

            The last day the student was in school. Should be either the last day of the school year, or last day the student was in class.
          required: false
          schema:
            type: string
            format: date
        - name: current_grade
          in: query
          description: Current Grade
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Transcript ID
                          readOnly: true
                        student_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        student_name:
                          type: object
                          properties:
                            full_name:
                              type: string
                              description: |-
                                Full Name

                                The full name of an individual in the school-defined format, often &lt;last name&gt;, &lt;first name&gt;
                              readOnly: true
                            prefix:
                              type: integer
                              description: Name Prefix
                            first:
                              type: string
                              description: First Name
                              maxLength: 50
                            preferred:
                              type: string
                              description: Preferred Name
                              maxLength: 50
                            middle:
                              type: string
                              description: Middle Name
                              maxLength: 50
                            middle_initial:
                              type: string
                              description: Middle Initial
                              readOnly: true
                              maxLength: 50
                            last:
                              type: string
                              description: Last Name
                              maxLength: 50
                            suffix:
                              type: integer
                              description: Name Suffix
                          required:
                            - full_name
                            - prefix
                            - first
                            - preferred
                            - middle
                            - middle_initial
                            - last
                            - suffix
                        student_address:
                          type: object
                          properties:
                            address_1:
                              type: string
                              description: Address 1
                              readOnly: true
                            address_2:
                              type: string
                              description: Address 2
                              readOnly: true
                            address_3:
                              type: string
                              description: Address 3
                              readOnly: true
                            city:
                              type: string
                              description: City
                              readOnly: true
                            state:
                              type: string
                              description: State
                              readOnly: true
                            country:
                              type: integer
                              description: Country
                              readOnly: true
                            postal_code:
                              type: string
                              description: Postal Code
                              readOnly: true
                            zip_code:
                              type: string
                              description: |-
                                Zip (5-digit)

                                displays the 5-digit US postal code, for other countries the full postal code is displayed
                              readOnly: true
                          required:
                            - address_1
                            - address_2
                            - address_3
                            - city
                            - state
                            - country
                            - postal_code
                            - zip_code
                          readOnly: true
                        gender:
                          type: integer
                          description: Gender
                          readOnly: true
                        date_of_birth:
                          type: string
                          description: |-
                            Birthday (verbose)

                            a text field for displaying the date in the format of January 5, 2003
                          readOnly: true
                        current_grade:
                          type: integer
                          description: Current Grade
                          readOnly: true
                        graduation_year:
                          type: integer
                          description: Graduation Year
                          readOnly: true
                        entry_date:
                          type: string
                          format: date
                          description: |-
                            Entry Date

                            This is the original date on which the student started school. Should be the first day of the school year for new students, or a date during the school year for mid-year enrollees.
                        graduation_date:
                          type: string
                          format: date
                          description: Graduation Date
                        exit_date:
                          type: string
                          format: date
                          description: |-
                            Exit Date

                            The last day the student was in school. Should be either the last day of the school year, or last day the student was in class.
                        transfer_student:
                          type: boolean
                          description: Transfer Student
                          readOnly: true
                        transcript_notes:
                          type: string
                          description: Notes
                        parent_1_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        parent_2_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        parent_3_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        parent_4_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                      required:
                        - id
                        - student_id
                        - student_name
                        - student_address
                        - gender
                        - date_of_birth
                        - current_grade
                        - graduation_year
                        - entry_date
                        - graduation_date
                        - exit_date
                        - transfer_student
                        - transcript_notes
                        - parent_1_id
                        - parent_2_id
                        - parent_3_id
                        - parent_4_id
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - student_name.prefix
                              - student_name.suffix
                              - student_address.country
                              - gender
                              - current_grade
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'transcripts.student_info:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/transcripts/{person_id}/transcript_items':
    get:
      tags:
        - 'Transcripts: Transcript Items'
      summary: 'List Transcripts: Transcript Items'
      operationId: list_transcripts_transcript_items
      parameters:
        - name: school_year
          in: query
          description: Year
          required: false
          schema:
            type: integer
        - name: grading_period
          in: query
          description: |-
            Grading Period

            Includes the All grading period, and all grading periods that are marked &#39;Post to Transcript.&#39; Sorted by grading period sort key.
          required: false
          schema:
            type: integer
        - name: enrollment_level
          in: query
          description: Enrollment Level
          required: false
          schema:
            type: integer
        - name: grade_level
          in: query
          description: Grade Level
          required: false
          schema:
            type: integer
        - name: honors
          in: query
          description: |-
            Honors

            Indicates that this student is taking a &quot;normal&quot; class as honors
          required: false
          schema:
            type: boolean
        - name: transfer_school_id
          in: query
          description: |-
            Organization ID

            Organization ID
          required: false
          schema:
            type: integer
        - name: transfer_school_legacy_id
          in: query
          description: |-
            Legacy ID

            System ID for this organization in legacy system
          required: false
          schema:
            type: string
            maxLength: 50
        - name: subject_id
          in: query
          description: Subject ID
          required: false
          schema:
            type: integer
        - name: transfer
          in: query
          description: Transfer
          required: false
          schema:
            type: boolean
        - name: ap
          in: query
          description: AP
          required: false
          schema:
            type: boolean
        - name: include_in_gpa
          in: query
          description: |-
            Include in GPA

            Whether the transcript course is marked as &#39;Include In GPA&#39;
          required: false
          schema:
            type: boolean
        - name: class_enrollment_id
          in: query
          description: Class Enrollment
          required: false
          schema:
            type: string
        - name: on_or_after_credit_completion_date
          in: query
          description: Credit Completion Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_before_credit_completion_date
          in: query
          description: Credit Completion Date
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Transcript Item ID
                          readOnly: true
                        official_transcript_record_id:
                          type: integer
                          description: Transcript ID
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        school_year:
                          type: integer
                          description: Year
                        grading_period:
                          type: integer
                          description: |-
                            Grading Period

                            Includes the All grading period, and all grading periods that are marked &#39;Post to Transcript.&#39; Sorted by grading period sort key.
                        enrollment_level:
                          type: integer
                          description: Enrollment Level
                        grade_level:
                          type: integer
                          description: Grade Level
                        numeric_grade:
                          type: number
                          description: |-
                            Numeric Grade

                            The official posted grade that appears on the transcript.
                        letter_grade:
                          type: string
                          description: Grade (alpha)
                          readOnly: true
                        grade_conversion_scale_id:
                          type: integer
                          description: Grade Conversion Scale
                        grade_status:
                          type: integer
                          description: |-
                            Status

                            The status for this transcript record
                        gpa_points:
                          type: string
                          description: Grade (gpa points)
                          readOnly: true
                        credits_attempted:
                          type: number
                          description: Credits Attempted
                        credits_earned:
                          type: number
                          description: Credits Earned
                        credit_completion_date:
                          type: string
                          format: date
                          description: Credit Completion Date
                        honors:
                          type: boolean
                          description: |-
                            Honors

                            Indicates that this student is taking a &quot;normal&quot; class as honors
                        transfer_school_id:
                          type: integer
                          description: |-
                            Organization ID

                            Organization ID
                          readOnly: true
                        transfer_school_legacy_id:
                          type: string
                          description: |-
                            Legacy ID

                            System ID for this organization in legacy system
                          maxLength: 50
                        transfer_school:
                          type: string
                          description: School
                        subject:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Subject ID
                            description:
                              type: string
                              description: Description
                              maxLength: 50
                          required:
                            - id
                            - description
                        transcript_course:
                          type: object
                          properties:
                            internal_course_id:
                              type: integer
                              description: Internal Course ID
                            id:
                              type: string
                              description: Course ID
                              maxLength: 15
                            description:
                              type: string
                              description: Description
                              maxLength: 100
                              readOnly: true
                            course_code:
                              type: string
                              description: Course Code
                              maxLength: 15
                            transfer:
                              type: boolean
                              description: Transfer
                            honors:
                              type: boolean
                              description: Honors
                            ap:
                              type: boolean
                              description: AP
                            include_in_gpa:
                              type: boolean
                              description: |-
                                Include in GPA

                                Whether the transcript course is marked as &#39;Include In GPA&#39;
                          required:
                            - internal_course_id
                            - id
                            - description
                            - course_code
                            - transfer
                            - honors
                            - ap
                            - include_in_gpa
                        related_class:
                          type: object
                          properties:
                            class_enrollment_id:
                              type: string
                              description: Class Enrollment
                            class_grade_conversion_scale:
                              type: integer
                              description: Class Enrollment Grade Conversion Scale
                              readOnly: true
                          required:
                            - class_enrollment_id
                            - class_grade_conversion_scale
                      required:
                        - id
                        - official_transcript_record_id
                        - person_id
                        - school_year
                        - grading_period
                        - enrollment_level
                        - grade_level
                        - numeric_grade
                        - letter_grade
                        - grade_conversion_scale_id
                        - grade_status
                        - gpa_points
                        - credits_attempted
                        - credits_earned
                        - credit_completion_date
                        - honors
                        - transfer_school_id
                        - transfer_school_legacy_id
                        - transfer_school
                        - subject
                        - transcript_course
                        - related_class
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - school_year
                              - grading_period
                              - enrollment_level
                              - grade_level
                              - grade_conversion_scale_id
                              - grade_status
                              - related_class.class_grade_conversion_scale
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'transcripts.transcript_items:list'
    parameters:
      - name: person_id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /transportation/bus_routes:
    get:
      tags:
        - 'Transportation: Bus Routes'
      summary: 'List Transportation: Bus Routes'
      operationId: list_transportation_bus_routes
      parameters:
        - name: am_pm
          in: query
          description: AM/PM
          required: false
          schema:
            type: integer
        - name: driver
          in: query
          description: Driver
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        description:
                          type: string
                          description: Description
                          maxLength: 50
                        am_pm:
                          type: integer
                          description: AM/PM
                        start_time:
                          type: string
                          format: date-time
                          description: |-
                            Start Time

                            The time the bus departs
                        end_time:
                          type: string
                          format: date-time
                          description: |-
                            End Time

                            The time the bus arrives at the last stop
                        number_of_stops:
                          type: integer
                          description: '# Stops'
                          readOnly: true
                        capacity:
                          type: integer
                          description: |-
                            Capacity

                            The number of people the bus can hold
                        max_scheduled_rider_count:
                          type: integer
                          description: |-
                            Maximum Ridership

                            The maximum number of students scheduled on a given day
                          readOnly: true
                        organization:
                          type: string
                          description: Organization
                        driver:
                          type: string
                          description: Driver
                          readOnly: true
                        mobile_phone:
                          type: string
                          description: Mobile Phone
                          maxLength: 30
                        notes:
                          type: string
                          description: Notes
                          maxLength: 500
                      required:
                        - id
                        - description
                        - am_pm
                        - start_time
                        - end_time
                        - number_of_stops
                        - capacity
                        - max_scheduled_rider_count
                        - organization
                        - driver
                        - mobile_phone
                        - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - am_pm
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'transportation.bus_routes:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/transportation/bus_routes/{id}':
    get:
      tags:
        - 'Transportation: Bus Routes'
      summary: 'Read Transportation: Bus Routes'
      operationId: read_transportation_bus_routes
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ID
                        readOnly: true
                      description:
                        type: string
                        description: Description
                        maxLength: 50
                      am_pm:
                        type: integer
                        description: AM/PM
                      start_time:
                        type: string
                        format: date-time
                        description: |-
                          Start Time

                          The time the bus departs
                      end_time:
                        type: string
                        format: date-time
                        description: |-
                          End Time

                          The time the bus arrives at the last stop
                      number_of_stops:
                        type: integer
                        description: '# Stops'
                        readOnly: true
                      capacity:
                        type: integer
                        description: |-
                          Capacity

                          The number of people the bus can hold
                      max_scheduled_rider_count:
                        type: integer
                        description: |-
                          Maximum Ridership

                          The maximum number of students scheduled on a given day
                        readOnly: true
                      organization:
                        type: string
                        description: Organization
                      driver:
                        type: string
                        description: Driver
                        readOnly: true
                      mobile_phone:
                        type: string
                        description: Mobile Phone
                        maxLength: 30
                      notes:
                        type: string
                        description: Notes
                        maxLength: 500
                    required:
                      - id
                      - description
                      - am_pm
                      - start_time
                      - end_time
                      - number_of_stops
                      - capacity
                      - max_scheduled_rider_count
                      - organization
                      - driver
                      - mobile_phone
                      - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - am_pm
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'transportation.bus_routes:read'
    parameters:
      - name: id
        in: path
        description: ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /transportation/bus_stops:
    get:
      tags:
        - 'Transportation: Bus Stops'
      summary: 'List Transportation: Bus Stops'
      operationId: list_transportation_bus_stops
      parameters:
        - name: bus_route_id
          in: query
          description: Bus Route
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        bus_route_id:
                          type: integer
                          description: Bus Route
                        location:
                          type: string
                          description: Location
                          maxLength: 100
                        time:
                          type: string
                          format: date-time
                          description: Time
                        notes:
                          type: string
                          description: Notes
                          maxLength: 100
                      required:
                        - id
                        - bus_route_id
                        - location
                        - time
                        - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - bus_route_id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'transportation.bus_stops:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/transportation/bus_stops/{id}':
    get:
      tags:
        - 'Transportation: Bus Stops'
      summary: 'Read Transportation: Bus Stops'
      operationId: read_transportation_bus_stops
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ID
                        readOnly: true
                      bus_route_id:
                        type: integer
                        description: Bus Route
                      location:
                        type: string
                        description: Location
                        maxLength: 100
                      time:
                        type: string
                        format: date-time
                        description: Time
                      notes:
                        type: string
                        description: Notes
                        maxLength: 100
                    required:
                      - id
                      - bus_route_id
                      - location
                      - time
                      - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - bus_route_id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'transportation.bus_stops:read'
    parameters:
      - name: id
        in: path
        description: ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /transportation/bus_trips:
    get:
      tags:
        - 'Transportation: Bus Trips'
      summary: 'List Transportation: Bus Trips'
      operationId: list_transportation_bus_trips
      parameters:
        - name: bus_route_id
          in: query
          description: Bus Route
          required: false
          schema:
            type: integer
        - name: date
          in: query
          description: Bus Trip Date
          required: false
          schema:
            type: string
            format: date
        - name: driver
          in: query
          description: Driver
          required: false
          schema:
            type: string
        - name: on_or_before_date
          in: query
          description: Bus Trip Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_date
          in: query
          description: Bus Trip Date
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Bus Trip ID
                          readOnly: true
                        bus_route_id:
                          type: integer
                          description: Bus Route
                        date:
                          type: string
                          format: date
                          description: Bus Trip Date
                        start_time:
                          type: string
                          format: date-time
                          description: Start Time
                        end_time:
                          type: string
                          format: date-time
                          description: End Time
                        start_location:
                          type: string
                          description: Start Location
                          maxLength: 100
                        number_of_riders:
                          type: integer
                          description: '# of Riders'
                          readOnly: true
                        driver:
                          type: string
                          description: Driver
                          readOnly: true
                        notes:
                          type: string
                          description: Notes
                          maxLength: 100
                      required:
                        - id
                        - bus_route_id
                        - date
                        - start_time
                        - end_time
                        - start_location
                        - number_of_riders
                        - driver
                        - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - bus_route_id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'transportation.bus_trips:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/transportation/bus_trips/{id}':
    get:
      tags:
        - 'Transportation: Bus Trips'
      summary: 'Read Transportation: Bus Trips'
      operationId: read_transportation_bus_trips
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Bus Trip ID
                        readOnly: true
                      bus_route_id:
                        type: integer
                        description: Bus Route
                      date:
                        type: string
                        format: date
                        description: Bus Trip Date
                      start_time:
                        type: string
                        format: date-time
                        description: Start Time
                      end_time:
                        type: string
                        format: date-time
                        description: End Time
                      start_location:
                        type: string
                        description: Start Location
                        maxLength: 100
                      number_of_riders:
                        type: integer
                        description: '# of Riders'
                        readOnly: true
                      driver:
                        type: string
                        description: Driver
                        readOnly: true
                      notes:
                        type: string
                        description: Notes
                        maxLength: 100
                    required:
                      - id
                      - bus_route_id
                      - date
                      - start_time
                      - end_time
                      - start_location
                      - number_of_riders
                      - driver
                      - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - bus_route_id
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'transportation.bus_trips:read'
    parameters:
      - name: id
        in: path
        description: Bus Trip ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /transportation/schedules:
    get:
      tags:
        - 'Transportation: Schedules'
      summary: 'List Transportation: Schedules'
      operationId: list_transportation_schedules
      parameters:
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: school_year
          in: query
          description: |-
            School Year

            In most circumstances, the value in this field should be the Current School Year; but this field allows you to set up routes that run during a different &quot;Year,&quot; such as Summer routes.
          required: false
          schema:
            type: integer
        - name: grading_period
          in: query
          description: |-
            Grading Period

            In most circumstances, the value in this field should be Grading Period ALL. But, if your routes need to change at the end of a grading period, you can set up those routes far in advance by selecting a Grading Period.
          required: false
          schema:
            type: integer
        - name: day
          in: query
          description: Day
          required: false
          schema:
            type: integer
        - name: am_pm
          in: query
          description: AM/PM
          required: false
          schema:
            type: integer
        - name: transportation_method
          in: query
          description: Transportation Method
          required: false
          schema:
            type: integer
        - name: bus_route_id
          in: query
          description: Bus Route
          required: false
          schema:
            type: integer
        - name: bus_stop_id
          in: query
          description: ID
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID
                          readOnly: true
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        person_name:
                          type: string
                          description: Person
                          readOnly: true
                        person_preferred_name:
                          type: string
                          description: Preferred Name
                          maxLength: 50
                        current_grade:
                          type: integer
                          description: Current Grade
                        school_year:
                          type: integer
                          description: |-
                            School Year

                            In most circumstances, the value in this field should be the Current School Year; but this field allows you to set up routes that run during a different &quot;Year,&quot; such as Summer routes.
                        grading_period:
                          type: integer
                          description: |-
                            Grading Period

                            In most circumstances, the value in this field should be Grading Period ALL. But, if your routes need to change at the end of a grading period, you can set up those routes far in advance by selecting a Grading Period.
                        day:
                          type: integer
                          description: Day
                        am_pm:
                          type: integer
                          description: AM/PM
                        pick_up_drop_off_time:
                          type: string
                          format: date-time
                          description: |-
                            PU/Drop-Off Time

                            Specify an early/late arrival/departure time. Only to be used if the Pick Up / Drop off time for a student should deviate from the time specified on the Stop.
                        transportation_method:
                          type: integer
                          description: Transportation Method
                        bus_route_id:
                          type: integer
                          description: Bus Route
                        bus_stop_id:
                          type: integer
                          description: ID
                          readOnly: true
                        bus_stop_time:
                          type: string
                          format: date-time
                          description: Time
                          readOnly: true
                        carpool:
                          type: string
                          description: Carpool
                          readOnly: true
                        after_school_class:
                          type: string
                          description: After School Class
                          readOnly: true
                        after_school_activity_type:
                          type: integer
                          description: |-
                            Activity

                            Specify any activity the student is involved in which affects transportation
                        notes:
                          type: string
                          description: Notes
                          maxLength: 255
                      required:
                        - id
                        - person_id
                        - person_name
                        - person_preferred_name
                        - current_grade
                        - school_year
                        - grading_period
                        - day
                        - am_pm
                        - pick_up_drop_off_time
                        - transportation_method
                        - bus_route_id
                        - bus_stop_id
                        - bus_stop_time
                        - carpool
                        - after_school_class
                        - after_school_activity_type
                        - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - current_grade
                              - school_year
                              - grading_period
                              - day
                              - am_pm
                              - transportation_method
                              - bus_route_id
                              - after_school_activity_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'transportation.schedules:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/transportation/schedules/{id}':
    get:
      tags:
        - 'Transportation: Schedules'
      summary: 'Read Transportation: Schedules'
      description: "Default Filters:\r\n1) `school_year` =  {current_school_year}\r\n\r\nDefault Sorting:\r\n1) `person_name` (asc)\r\n2) `school_year` (asc)\r\n3) `grading_period` (asc)\r\n4) `day` (asc)\r\n5) `am_pm` (asc)"
      operationId: read_transportation_schedules
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ID
                        readOnly: true
                      person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      person_name:
                        type: string
                        description: Person
                        readOnly: true
                      name:
                        type: object
                        properties:
                          first_name:
                            type: string
                            description: First Name
                            maxLength: 50
                          preferred_name:
                            type: string
                            description: Preferred Name
                            maxLength: 50
                          middle_name:
                            type: string
                            description: Middle Name
                            maxLength: 50
                          last_name:
                            type: string
                            description: Last Name
                            maxLength: 50
                          suffix:
                            type: integer
                            description: Name Suffix
                        required:
                          - first_name
                          - preferred_name
                          - middle_name
                          - last_name
                          - suffix
                      current_grade:
                        type: integer
                        description: Current Grade
                      school_year:
                        type: integer
                        description: |-
                          School Year

                          In most circumstances, the value in this field should be the Current School Year; but this field allows you to set up routes that run during a different &quot;Year,&quot; such as Summer routes.
                      grading_period:
                        type: integer
                        description: |-
                          Grading Period

                          In most circumstances, the value in this field should be Grading Period ALL. But, if your routes need to change at the end of a grading period, you can set up those routes far in advance by selecting a Grading Period.
                      day:
                        type: integer
                        description: Day
                      am_pm:
                        type: integer
                        description: AM/PM
                      pick_up_drop_off_time:
                        type: string
                        format: date-time
                        description: |-
                          PU/Drop-Off Time

                          Specify an early/late arrival/departure time. Only to be used if the Pick Up / Drop off time for a student should deviate from the time specified on the Stop.
                      transportation_method:
                        type: integer
                        description: Transportation Method
                      bus_route:
                        type: integer
                        description: Bus Route
                      bus_stop:
                        type: string
                        description: Bus Stop
                      bus_stop_time:
                        type: string
                        format: date-time
                        description: Time
                        readOnly: true
                      bus_zone:
                        type: integer
                        description: Bus Zone
                      carpool:
                        type: string
                        description: Carpool
                        readOnly: true
                      after_school_class:
                        type: string
                        description: After School Class
                        readOnly: true
                      after_school_activity_type:
                        type: integer
                        description: |-
                          Activity

                          Specify any activity the student is involved in which affects transportation
                      notes:
                        type: string
                        description: Notes
                        maxLength: 255
                    required:
                      - id
                      - person_id
                      - person_name
                      - name
                      - current_grade
                      - school_year
                      - grading_period
                      - day
                      - am_pm
                      - pick_up_drop_off_time
                      - transportation_method
                      - bus_route
                      - bus_stop
                      - bus_stop_time
                      - bus_zone
                      - carpool
                      - after_school_class
                      - after_school_activity_type
                      - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - name.suffix
                              - current_grade
                              - school_year
                              - grading_period
                              - day
                              - am_pm
                              - transportation_method
                              - bus_route
                              - after_school_activity_type
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'transportation.schedules:read'
    parameters:
      - name: id
        in: path
        description: ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  '/transportation/trips/{id}':
    get:
      tags:
        - 'Transportation: Trips'
      summary: 'Read Transportation: Trips'
      operationId: read_transportation_trips
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Person Trip ID
                        readOnly: true
                      date:
                        type: string
                        format: date
                        description: Trip Date
                      person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      person_name:
                        type: string
                        description: Person
                        readOnly: true
                      person_preferred_name:
                        type: string
                        description: Preferred Name
                        maxLength: 50
                      transportation_method:
                        type: integer
                        description: Transportation Method
                      normal_transportation_method:
                        type: integer
                        description: |-
                          Normal Transportation Method

                          The transportation method normally used on this day by this person
                      origination:
                        type: integer
                        description: Origination
                      origination_address:
                        type: string
                        description: Origination Address
                        maxLength: 120
                      destination:
                        type: integer
                        description: Destination
                      destination_address:
                        type: string
                        description: Destination Address
                        maxLength: 120
                      bus_route_id:
                        type: integer
                        description: Bus Route
                      normal_bus_route_id:
                        type: integer
                        description: |-
                          Normal Bus Route

                          The bus route normally taken on this day by this person
                      bus_stop_id:
                        type: integer
                        description: Bus Stop ID
                      normal_bus_stop_id:
                        type: integer
                        description: Normal Bus Stop
                      stop_number:
                        type: integer
                        description: 'Stop #'
                      rider_status:
                        type: integer
                        description: Rider Status
                        readOnly: true
                      scheduled_departure_time:
                        type: string
                        format: date-time
                        description: Scheduled Departure Time
                      alternate_departure_time:
                        type: string
                        format: date-time
                        description: Alternate Departure Time
                      scheduled_arrival_time:
                        type: string
                        format: date-time
                        description: Scheduled Arrival Time
                      alternate_arrival_time:
                        type: string
                        format: date-time
                        description: Alternate Arrival Time
                      traveling_with:
                        type: string
                        description: |-
                          Traveling With

                          The student listed above is riding with the student listed in this field.
                        readOnly: true
                      after_school_class:
                        type: string
                        description: After School Class
                        readOnly: true
                      attendance_status:
                        type: integer
                        description: |-
                          Attendance Status

                          The attendance status for the student on this date
                        readOnly: true
                      attendance_notes:
                        type: string
                        description: Attendance Notes
                        readOnly: true
                      fee:
                        type: number
                        description: Fee
                      fee_paid:
                        type: boolean
                        description: Fee Paid
                      notes:
                        type: string
                        description: Notes
                        maxLength: 1000
                    required:
                      - id
                      - date
                      - person_id
                      - person_name
                      - person_preferred_name
                      - transportation_method
                      - normal_transportation_method
                      - origination
                      - origination_address
                      - destination
                      - destination_address
                      - bus_route_id
                      - normal_bus_route_id
                      - bus_stop_id
                      - normal_bus_stop_id
                      - stop_number
                      - rider_status
                      - scheduled_departure_time
                      - alternate_departure_time
                      - scheduled_arrival_time
                      - alternate_arrival_time
                      - traveling_with
                      - after_school_class
                      - attendance_status
                      - attendance_notes
                      - fee
                      - fee_paid
                      - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - transportation_method
                              - normal_transportation_method
                              - origination
                              - destination
                              - bus_route_id
                              - normal_bus_route_id
                              - normal_bus_stop_id
                              - rider_status
                              - attendance_status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'transportation.trips:read'
    parameters:
      - name: id
        in: path
        description: Person Trip ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
  /transportation/trips:
    get:
      tags:
        - 'Transportation: Trips'
      summary: 'List Transportation: Trips'
      operationId: list_transportation_trips
      parameters:
        - name: date
          in: query
          description: Trip Date
          required: false
          schema:
            type: string
            format: date
        - name: person_id
          in: query
          description: Person ID
          required: false
          schema:
            type: integer
        - name: transportation_method
          in: query
          description: Transportation Method
          required: false
          schema:
            type: integer
        - name: origination
          in: query
          description: Origination
          required: false
          schema:
            type: integer
        - name: destination
          in: query
          description: Destination
          required: false
          schema:
            type: integer
        - name: bus_route_id
          in: query
          description: Bus Route
          required: false
          schema:
            type: integer
        - name: bus_stop_id
          in: query
          description: Bus Stop ID
          required: false
          schema:
            type: integer
        - name: rider_status
          in: query
          description: Rider Status
          required: false
          schema:
            type: integer
        - name: on_or_before_date
          in: query
          description: Trip Date
          required: false
          schema:
            type: string
            format: date
        - name: on_or_after_date
          in: query
          description: Trip Date
          required: false
          schema:
            type: string
            format: date
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Person Trip ID
                          readOnly: true
                        date:
                          type: string
                          format: date
                          description: Trip Date
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        person_name:
                          type: string
                          description: Person
                          readOnly: true
                        person_preferred_name:
                          type: string
                          description: Preferred Name
                          maxLength: 50
                        transportation_method:
                          type: integer
                          description: Transportation Method
                        normal_transportation_method:
                          type: integer
                          description: |-
                            Normal Transportation Method

                            The transportation method normally used on this day by this person
                        origination:
                          type: integer
                          description: Origination
                        origination_address:
                          type: string
                          description: Origination Address
                          maxLength: 120
                        destination:
                          type: integer
                          description: Destination
                        destination_address:
                          type: string
                          description: Destination Address
                          maxLength: 120
                        bus_route_id:
                          type: integer
                          description: Bus Route
                        normal_bus_route_id:
                          type: integer
                          description: |-
                            Normal Bus Route

                            The bus route normally taken on this day by this person
                        bus_stop_id:
                          type: integer
                          description: Bus Stop ID
                        normal_bus_stop_id:
                          type: integer
                          description: Normal Bus Stop
                        stop_number:
                          type: integer
                          description: 'Stop #'
                        rider_status:
                          type: integer
                          description: Rider Status
                          readOnly: true
                        scheduled_departure_time:
                          type: string
                          format: date-time
                          description: Scheduled Departure Time
                        alternate_departure_time:
                          type: string
                          format: date-time
                          description: Alternate Departure Time
                        scheduled_arrival_time:
                          type: string
                          format: date-time
                          description: Scheduled Arrival Time
                        alternate_arrival_time:
                          type: string
                          format: date-time
                          description: Alternate Arrival Time
                        traveling_with:
                          type: string
                          description: |-
                            Traveling With

                            The student listed above is riding with the student listed in this field.
                          readOnly: true
                        after_school_class:
                          type: string
                          description: After School Class
                          readOnly: true
                        attendance_status:
                          type: integer
                          description: |-
                            Attendance Status

                            The attendance status for the student on this date
                          readOnly: true
                        attendance_notes:
                          type: string
                          description: Attendance Notes
                          readOnly: true
                        fee:
                          type: number
                          description: Fee
                        fee_paid:
                          type: boolean
                          description: Fee Paid
                        notes:
                          type: string
                          description: Notes
                          maxLength: 1000
                      required:
                        - id
                        - date
                        - person_id
                        - person_name
                        - person_preferred_name
                        - transportation_method
                        - normal_transportation_method
                        - origination
                        - origination_address
                        - destination
                        - destination_address
                        - bus_route_id
                        - normal_bus_route_id
                        - bus_stop_id
                        - normal_bus_stop_id
                        - stop_number
                        - rider_status
                        - scheduled_departure_time
                        - alternate_departure_time
                        - scheduled_arrival_time
                        - alternate_arrival_time
                        - traveling_with
                        - after_school_class
                        - attendance_status
                        - attendance_notes
                        - fee
                        - fee_paid
                        - notes
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - transportation_method
                              - normal_transportation_method
                              - origination
                              - destination
                              - bus_route_id
                              - normal_bus_route_id
                              - normal_bus_stop_id
                              - rider_status
                              - attendance_status
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'transportation.trips:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  /volunteer_coordinator/volunteers:
    get:
      tags:
        - 'Volunteer Coordinator: Volunteers'
      summary: 'List Volunteer Coordinator: Volunteers'
      operationId: list_volunteer_coordinator_volunteers
      parameters:
        - name: greater_than_or_equal_to_total_volunteer_hours
          in: query
          description: |-
            Total Volunteer Hours

            Total volunteer hours for all time
          required: false
          schema:
            type: number
        - name: less_than_or_equal_to_total_volunteer_hours
          in: query
          description: |-
            Total Volunteer Hours

            Total volunteer hours for all time
          required: false
          schema:
            type: number
        - name: role
          in: query
          description: Role
          required: false
          schema:
            type: integer
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        person_id:
                          type: integer
                          description: Person ID
                          readOnly: true
                        first_name:
                          type: string
                          description: First Name
                          maxLength: 50
                        preferred_name:
                          type: string
                          description: Preferred Name
                          maxLength: 50
                        last_name:
                          type: string
                          description: Last Name
                          maxLength: 50
                        total_volunteer_hours:
                          type: number
                          description: |-
                            Total Volunteer Hours

                            Total volunteer hours for all time
                          readOnly: true
                      required:
                        - person_id
                        - first_name
                        - preferred_name
                        - last_name
                        - total_volunteer_hours
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'volunteer_coordinator.volunteers:list'
    parameters:
      - $ref: '#/components/parameters/api_revision'
  '/volunteer_coordinator/volunteers/{id}':
    get:
      tags:
        - 'Volunteer Coordinator: Volunteers'
      summary: 'Read Volunteer Coordinator: Volunteers'
      operationId: read_volunteer_coordinator_volunteers
      parameters:
        - $ref: '#/components/parameters/value_lists'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      person_id:
                        type: integer
                        description: Person ID
                        readOnly: true
                      first_name:
                        type: string
                        description: First Name
                        maxLength: 50
                      preferred_name:
                        type: string
                        description: Preferred Name
                        maxLength: 50
                      last_name:
                        type: string
                        description: Last Name
                        maxLength: 50
                      total_volunteer_hours:
                        type: number
                        description: |-
                          Total Volunteer Hours

                          Total volunteer hours for all time
                        readOnly: true
                    required:
                      - person_id
                      - first_name
                      - preferred_name
                      - last_name
                      - total_volunteer_hours
                  value_lists:
                    type: array
                    description: Present only with header `X-API-Value-Lists = include`
                    readOnly: true
                    items:
                      type: object
                      properties:
                        fields:
                          type: array
                          description: An array of field names from `data` that this value list goes with
                          items:
                            type: string
                            enum:
                              - role
                        items:
                          type: array
                          description: An array of value list items whose `id` field matches the value in the response data
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              description:
                                type: string
                              category:
                                type: integer
                              sort_key:
                                type: integer
                              obsolete:
                                type: boolean
                            required:
                              - id
                              - description
                              - sort_key
                        categories:
                          type: array
                          description: 'An array of "category" objects, which allow you to partition the value list items according to their category field'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              description:
                                type: string
                              sort_key:
                                type: integer
                            required:
                              - id
                              - description
                              - sort_key
                      required:
                        - fields
                        - items
                        - categories
                required:
                  - data
          headers:
            X-API-Revision:
              required: true
              description: API Revision
              schema:
                type: string
        4XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        5XX:
          description: '> Note: Be sure to check the HTTP response code for these errors as well'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      security:
        - access_token:
            - 'volunteer_coordinator.volunteers:read'
    parameters:
      - name: id
        in: path
        description: Person ID
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/api_revision'
components:
  parameters:
    page_number:
      name: X-Page-Number
      in: header
      description: Page number
      schema:
        type: integer
        default: 1
        minimum: 1
    page_size:
      name: X-Page-Size
      in: header
      description: Number of records per page (for collection endpoints)
      schema:
        type: integer
        default: 100
        minimum: 1
        maximum: 1000
    value_lists:
      name: X-API-Value-Lists
      in: header
      description: Include Value Lists in response
      schema:
        type: string
        enum:
          - include
    api_revision:
      name: X-API-Revision
      in: header
      description: API Revision
      schema:
        type: string
  schemas:
    post:
      type: object
      properties:
        data:
          type: object
          properties:
            id:
              type: integer
          required:
            - id
      required:
        - data
    error:
      type: object
      description: 'HTTP response codes describe the error type. See here for a list of HTTP response codes and their meanings: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status'
      properties:
        error:
          type: string
          description: The description of the error
        error_id:
          type: string
          description: A unique ID for this specific error. Please provide this error id when you ask for help with an error.
      required:
        - error
        - error_id
  securitySchemes:
    access_token:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: 'https://accounts.veracross.com/{school_route}/oauth/token'
          scopes:
            'academics.assignments.grades:list': 'List Academics: Assignment Grades'
            'academics.assignments.grades:read': 'Read Academics: Assignment Grades'
            'academics.assignments.grades:update': 'Update Academics: Assignment Grades'
            'academics.config.block_groups:list': 'List Academics: Block Groups'
            'academics.config.block_groups:read': 'Read Academics: Block Groups'
            'academics.config.blocks_by_block_groups:list': 'List Academics: Blocks by Group'
            'academics.config.blocks_by_block_groups:read': 'Read Academics: Blocks by Group'
            'academics.calendar_rotation_days:list': 'List Academics: Calendar Rotation Days'
            'academics.calendar_rotation_days:read': 'Read Academics: Calendar Rotation Days'
            'academics.classes.assignments:create': 'Create Academics: Class Assignments'
            'academics.classes.assignments:delete': 'Delete Academics: Class Assignments'
            'academics.classes.assignments:list': 'List Academics: Class Assignments'
            'academics.classes.assignments:read': 'Read Academics: Class Assignments'
            'academics.classes.assignments:update': 'Update Academics: Class Assignments'
            'academics.class_attendance_statuses:list': 'List Academics: Class Attendance Status'
            'academics.class_attendance_statuses:read': 'Read Academics: Class Attendance Status'
            'academics.class_attendance_statuses:update': 'Update Academics: Class Attendance Status'
            'academics.classes.meeting_times:list': 'List Academics: Class Meeting Times'
            'academics.classes.meeting_times:read': 'Read Academics: Class Meeting Times'
            'academics.class_schedules:list': 'List Academics: Class Schedules'
            'academics.classes:list': 'List Academics: Classes'
            'academics.classes:create': 'Create Academics: Classes'
            'academics.classes:read': 'Read Academics: Classes'
            'academics.classes:update': 'Update Academics: Classes'
            'academics.permissions:list': 'List Academics: Classes - Permissions'
            'academics.permissions:read': 'Read Academics: Classes - Permissions'
            'academics.config.block_times:list': 'List Academics: Configuration - Block Meeting Times'
            'academics.config.block_times:read': 'Read Academics: Configuration - Block Meeting Times'
            'academics.config.block_schedules:list': 'List Academics: Configuration - Block Schedules'
            'academics.config.block_schedules:read': 'Read Academics: Configuration - Block Schedules'
            'academics.config.blocks:list': 'List Academics: Configuration - Blocks/Periods'
            'academics.config.blocks:read': 'Read Academics: Configuration - Blocks/Periods'
            'academics.courses:create': 'Create Academics: Courses'
            'academics.courses:list': 'List Academics: Courses'
            'academics.courses:read': 'Read Academics: Courses'
            'academics.courses:update': 'Update Academics: Courses'
            'academics.departments:list': 'List Academics: Departments'
            'academics.departments:read': 'Read Academics: Departments'
            'academics.enrollments:list': 'List Academics: Enrollments'
            'academics.enrollments:read': 'Read Academics: Enrollments'
            'academics.enrollments:update': 'Update Academics: Enrollments'
            'academics.enrollments:create': 'Create Academics: Enrollments'
            'academics.config.grading_periods:list': 'List Academics: Grading Periods'
            'academics.config.grading_periods:read': 'Read Academics: Grading Periods'
            'academics.numeric_grades:read': 'Read Academics: Numeric Grades'
            'academics.numeric_grades:update': 'Update Academics: Numeric Grades'
            'academics.numeric_grades:list': 'List Academics: Numeric Grades'
            'academics.qualitative_grades:read': 'Read Academics: Qualitative Grades'
            'academics.qualitative_grades:update': 'Update Academics: Qualitative Grades'
            'academics.qualitative_grades:list': 'List Academics: Qualitative Grades'
            'academics.rooms:list': 'List Academics: Rooms'
            'academics.rooms:read': 'Read Academics: Rooms'
            'academics.config.rotation_days:list': 'List Academics: Rotation Days'
            'academics.config.rotation_days:read': 'Read Academics: Rotation Days'
            'academics.rubric_categories:create': 'Create Academics: Rubric Categories'
            'academics.rubric_categories:list': 'List Academics: Rubric Categories'
            'academics.rubric_categories:read': 'Read Academics: Rubric Categories'
            'academics.rubric_categories:update': 'Update Academics: Rubric Categories'
            'academics.rubric_criteria:create': 'Create Academics: Rubric Criteria'
            'academics.rubric_criteria:list': 'List Academics: Rubric Criteria'
            'academics.rubric_criteria:read': 'Read Academics: Rubric Criteria'
            'academics.rubric_criteria:update': 'Update Academics: Rubric Criteria'
            'academics.rubric_scales:create': 'Create Academics: Rubric Scales'
            'academics.rubric_scales:list': 'List Academics: Rubric Scales'
            'academics.rubric_scales:read': 'Read Academics: Rubric Scales'
            'academics.rubric_scales:update': 'Update Academics: Rubric Scales'
            'academics.rubric_scale_levels:create': 'Create Academics: Rubric Scales - Levels'
            'academics.rubric_scale_levels:list': 'List Academics: Rubric Scales - Levels'
            'academics.rubric_scale_levels:read': 'Read Academics: Rubric Scales - Levels'
            'academics.rubric_scale_levels:update': 'Update Academics: Rubric Scales - Levels'
            'academics.rubrics:create': 'Create Academics: Rubrics'
            'academics.rubrics:list': 'List Academics: Rubrics'
            'academics.rubrics:read': 'Read Academics: Rubrics'
            'academics.rubrics:update': 'Update Academics: Rubrics'
            'academics.student_alerts:list': 'List Academics: Student Alerts'
            'academics.student_alerts:read': 'Read Academics: Student Alerts'
            'academics.student_alerts:update': 'Update Academics: Student Alerts'
            'academics.student_assignments:list': 'List Academics: Student Assignments'
            'academics.student_assignments:read': 'Read Academics: Student Assignments'
            'academics.student_daily_schedules:list': 'List Academics: Student Daily Schedules'
            'academics.subjects:list': 'List Academics: Subjects'
            'academics.subjects:read': 'Read Academics: Subjects'
            'academics.teacher_daily_schedules:list': 'List Academics: Teacher Daily Schedules'
            'admission.applicants.relationships:create': 'Create Admission: Applicant Relationships'
            'admission.applicants.relationships:list': 'List Admission: Applicant Relationships'
            'admission.applicants.relationships:read': 'Read Admission: Applicant Relationships'
            'admission.applicants.relationships:update': 'Update Admission: Applicant Relationships'
            'admission.applicants:create': 'Create Admission: Applicants'
            'admission.applicants:list': 'List Admission: Applicants'
            'admission.applicants:read': 'Read Admission: Applicants'
            'admission.applicants:update': 'Update Admission: Applicants'
            'admission.applications.checklists:list': 'List Admission: Application Checklists'
            'admission.applications.checklists:read': 'Read Admission: Application Checklists'
            'admission.applications.checklists:update': 'Update Admission: Application Checklists'
            'admission.applications:create': 'Create Admission: Applications'
            'admission.applications:list': 'List Admission: Applications'
            'admission.applications:read': 'Read Admission: Applications'
            'admission.applications:update': 'Update Admission: Applications'
            'admission.citizenships:create': 'Create Admission: Citizenships'
            'admission.citizenships:list': 'List Admission: Citizenships'
            'admission.citizenships:read': 'Read Admission: Citizenships'
            'admission.citizenships:update': 'Update Admission: Citizenships'
            'admission.config.years.checklists:list': 'List Admission: Configuration - Checklists'
            'admission.config.years.checklists:read': 'Read Admission: Configuration - Checklists'
            'admission.config.years:list': 'List Admission: Configuration - Years'
            'admission.config.years:read': 'Read Admission: Configuration - Years'
            'admission.households.members:list': 'List Admission: Household Members'
            'admission.households:list': 'List Admission: Households'
            'admission.households:read': 'Read Admission: Households'
            'admission.households:update': 'Update Admission: Households'
            'admission.languages:create': 'Create Admission: Languages'
            'admission.languages:list': 'List Admission: Languages'
            'admission.languages:read': 'Read Admission: Languages'
            'admission.languages:update': 'Update Admission: Languages'
            'admission.relatives.relationships:create': 'Create Admission: Relative Relationships'
            'admission.relatives.relationships:list': 'List Admission: Relative Relationships'
            'admission.relatives.relationships:read': 'Read Admission: Relative Relationships'
            'admission.relatives.relationships:update': 'Update Admission: Relative Relationships'
            'admission.relatives:list': 'List Admission: Relatives'
            'admission.relatives:read': 'Read Admission: Relatives'
            'admission.relatives:update': 'Update Admission: Relatives'
            'admission.relatives:create': 'Create Admission: Relatives'
            'alumni.demographics:list': 'List Alumni: Demographics'
            'alumni.demographics:read': 'Read Alumni: Demographics'
            'athletics.rosters:create': 'Create Athletics: Rosters'
            'athletics.rosters:list': 'List Athletics: Rosters'
            'athletics.rosters:read': 'Read Athletics: Rosters'
            'athletics.rosters:update': 'Update Athletics: Rosters'
            'athletics.sports:list': 'List Athletics: Sports'
            'athletics.sports:read': 'Read Athletics: Sports'
            'athletics.sports:update': 'Update Athletics: Sports'
            'athletics.sports:create': 'Create Athletics: Sports'
            'athletics.team.practice_schedules:list': 'List Athletics: Team Practice Schedules'
            'athletics.teams:create': 'Create Athletics: Teams'
            'athletics.teams:read': 'Read Athletics: Teams'
            'athletics.teams:update': 'Update Athletics: Teams'
            'athletics.teams:list': 'List Athletics: Teams'
            'attendance_status_codes:list': List Attendance Status Codes
            'behavior:create': Create Behavior
            'behavior:list': List Behavior
            'behavior:read': Read Behavior
            'behavior:update': Update Behavior
            'behavior_incident_types:list': List Behavior Incident Types
            'behavior_incident_types:read': Read Behavior Incident Types
            'behavior_incident_types:update': Update Behavior Incident Types
            'boarding.dorms.attendance:list': 'List Boarding: Dorm Attendance'
            'boarding.dorms.attendance:read': 'Read Boarding: Dorm Attendance'
            'boarding.dorms.attendance:update': 'Update Boarding: Dorm Attendance'
            'boarding.dorms.students:list': 'List Boarding: Dorm Students'
            'boarding.dorms.students:read': 'Read Boarding: Dorm Students'
            'boarding.dorms.students:update': 'Update Boarding: Dorm Students'
            'boarding.dorms:list': 'List Boarding: Dorms'
            'boarding.dorms:read': 'Read Boarding: Dorms'
            'calendars.parent_calendars:list': 'List Calendars: Parent Calendars'
            'calendars.student_calendars:list': 'List Calendars: Student Calendars'
            'classes.attendance:list': List Class Attendance
            'classes.attendance:read': Read Class Attendance
            'classes.attendance:update': Update Class Attendance
            'classes:list': List Classes
            'classes:read': Read Classes
            'contact_info:list': List Contact Info
            'contact_info:read': Read Contact Info
            'contact_info:update': Update Contact Info
            'courses:list': List Courses
            'courses:read': Read Courses
            'courses:update': Update Courses
            'development.constituents:list': 'List Development: Constituents'
            'development.constituents:read': 'Read Development: Constituents'
            'development.gifts:list': 'List Development: Gifts'
            'development.gifts:read': 'Read Development: Gifts'
            'directory.preferences.household:list': 'List Directory Preferences: Household'
            'directory.preferences.household:read': 'Read Directory Preferences: Household'
            'directory.preferences.household:update': 'Update Directory Preferences: Household'
            'directory.preferences.people:list': 'List Directory Preferences: Person'
            'directory.preferences.people:read': 'Read Directory Preferences: Person'
            'directory.preferences.people:update': 'Update Directory Preferences: Person'
            'directory.configurations:list': List Directory Type Configurations
            'directory.household:list': 'List Directory: Household'
            'directory.staff_faculty:list': 'List Directory: Staff/Faculty'
            'directory.student:list': 'List Directory: Student'
            'emergency_contacts:create': Create Emergency Contacts
            'emergency_contacts:list': List Emergency Contacts
            'emergency_contacts:delete': Delete Emergency Contacts
            'emergency_contacts:read': Read Emergency Contacts
            'emergency_contacts:update': Update Emergency Contacts
            'event_groups:create': Create Event Groups
            'event_groups:delete': Delete Event Groups
            'event_groups:list': List Event Groups
            'event_groups:read': Read Event Groups
            'event_groups_members:list': List Event Groups Members
            'event_representatives:list': List Event Representatives
            'events.group_events:read': Read Events
            'events.group_events:update': Update Events
            'events.group_events:create': Create Events
            'events.group_events:list': List Events
            'events.athletics:create': 'Create Events: Athletics'
            'events.athletics:list': 'List Events: Athletics'
            'events.athletics:read': 'Read Events: Athletics'
            'events.athletics:update': 'Update Events: Athletics'
            'events.athletics_opponents:list': 'List Events: Athletics Opponents'
            'events.athletics_opponents:read': 'Read Events: Athletics Opponents'
            'events.athletics_scores:read': 'Read Events: Athletics Scores'
            'events.athletics_scores:update': 'Update Events: Athletics Scores'
            'events.event_attendance:create': 'Create Events: Attendance'
            'events.event_attendance:list': 'List Events: Attendance'
            'events.event_attendance:delete': 'Delete Events: Attendance'
            'events.event_attendance:read': 'Read Events: Attendance'
            'events.event_attendance:update': 'Update Events: Attendance'
            'extended_care.classes.attendance:list': 'List Extended Care: Class Attendance'
            'extended_care.classes.attendance:read': 'Read Extended Care: Class Attendance'
            'extended_care.classes.meeting_times:list': 'List Extended Care: Class Meeting Times'
            'extended_care.classes.meeting_times:read': 'Read Extended Care: Class Meeting Times'
            'extended_care.classes:create': 'Create Extended Care: Classes'
            'extended_care.classes:read': 'Read Extended Care: Classes'
            'extended_care.classes:update': 'Update Extended Care: Classes'
            'extended_care.classes:list': 'List Extended Care: Classes'
            'extended_care.courses:list': 'List Extended Care: Courses'
            'extended_care.courses:read': 'Read Extended Care: Courses'
            'extended_care.courses:update': 'Update Extended Care: Courses'
            'extended_care.courses:create': 'Create Extended Care: Courses'
            'extended_care.registrations:list': 'List Extended Care: Registrations'
            'extended_care.registrations:read': 'Read Extended Care: Registrations'
            'finance.ap_disbursements.ap_disbursement_items:create': 'Create Finance: AP Disbursement Items'
            'finance.ap_disbursement_items:list': 'List Finance: AP Disbursement Items'
            'finance.ap_disbursement_items:read': 'Read Finance: AP Disbursement Items'
            'finance.ap_disbursement_items:update': 'Update Finance: AP Disbursement Items'
            'finance.ap_disbursements:create': 'Create Finance: AP Disbursements'
            'finance.ap_disbursements:list': 'List Finance: AP Disbursements'
            'finance.ap_disbursements:read': 'Read Finance: AP Disbursements'
            'finance.ap_disbursements:update': 'Update Finance: AP Disbursements'
            'finance.ap_invoices.ap_invoice_items:create': 'Create Finance: AP Invoice Items'
            'finance.ap_invoice_items:list': 'List Finance: AP Invoice Items'
            'finance.ap_invoice_items:read': 'Read Finance: AP Invoice Items'
            'finance.ap_invoice_items:update': 'Update Finance: AP Invoice Items'
            'finance.ap_invoices:create': 'Create Finance: AP Invoices'
            'finance.ap_invoices:list': 'List Finance: AP Invoices'
            'finance.ap_invoices:read': 'Read Finance: AP Invoices'
            'finance.ap_invoices:update': 'Update Finance: AP Invoices'
            'finance.gl_accounts:list': 'List Finance: GL Accounts'
            'finance.gl_accounts:read': 'Read Finance: GL Accounts'
            'finance.post_ap_invoices:update': 'Update Finance: Post AP Invoices'
            'finance.projects:list': 'List Finance: Projects'
            'finance.projects:read': 'Read Finance: Projects'
            'finance.purchase_request_workflows:list': 'List Finance: Purchase Request Workflow'
            'finance.purchase_request_workflows:read': 'Read Finance: Purchase Request Workflow'
            'finance.purchase_request_workflow_gl_accounts:list': 'List Finance: Purchase Request Workflow GL Accounts'
            'finance.tax_types:list': 'List Finance: Tax Types'
            'finance.tax_types:read': 'Read Finance: Tax Types'
            'finance.vendors:create': 'Create Finance: Vendors'
            'finance.vendors:list': 'List Finance: Vendors'
            'finance.vendors:read': 'Read Finance: Vendors'
            'finance.vendors:update': 'Update Finance: Vendors'
            'health.all_patients.conditions:list': 'List Health: All Patients Conditions'
            'health.patients.conditions:list': 'List Health: Patient Conditions'
            'health.patients.conditions:read': 'Read Health: Patient Conditions'
            'health.patients.conditions:update': 'Update Health: Patient Conditions'
            'health.patients.conditions:create': 'Create Health: Patient Conditions'
            'health.patients.medications:create': 'Create Health: Patient Medications'
            'health.patients.medications:list': 'List Health: Patient Medications'
            'health.patients.medications:read': 'Read Health: Patient Medications'
            'health.patients.medications:update': 'Update Health: Patient Medications'
            'health.patients:list': 'List Health: Patients'
            'health.patients:read': 'Read Health: Patients'
            'health.patients:update': 'Update Health: Patients'
            'household_vehicles:list': List Household Vehicles
            'household_vehicles:read': Read Household Vehicles
            'households:list': List Households
            'households:read': Read Households
            'households:update': Update Households
            'households:create': Create Households
            'master_attendance:list': List Master Attendance
            'master_attendance:read': Read Master Attendance
            'master_attendance:update': Update Master Attendance
            'news:list': List News
            'news:read': Read News
            'non-academics.classes:list': 'List Non-Academics: Classes'
            'non-academics.classes:create': 'Create Non-Academics: Classes'
            'non-academics.classes:read': 'Read Non-Academics: Classes'
            'non-academics.classes:update': 'Update Non-Academics: Classes'
            'non-academics.courses:list': 'List Non-Academics: Courses'
            'non-academics.courses:read': 'Read Non-Academics: Courses'
            'non-academics.courses:update': 'Update Non-Academics: Courses'
            'non-academics.courses:create': 'Create Non-Academics: Courses'
            'parents:list': List Parents
            'parents:read': Read Parents
            'person_accounts:delete': Delete Person Accounts
            'person_accounts:list': List Person Accounts
            'person_accounts:read': Read Person Accounts
            'person_accounts:create': Create Person Accounts
            'person_enrollment_history:list': List Person Enrollment History
            'person_enrollment_history:read': Read Person Enrollment History
            'person_photos:list': List Person Photo
            'person_profile_codes:delete': Delete Person Profile Codes
            'person_profile_codes:list': List Person Profile Codes
            'person_profile_codes:read': Read Person Profile Codes
            'person_profile_codes:create': Create Person Profile Codes
            'person_reference_number:create': Create Person Reference Number
            'person_reference_number:delete': Delete Person Reference Number
            'person_reference_number:list': List Person Reference Number
            'person_reference_number:read': Read Person Reference Number
            'person_reference_number:update': Update Person Reference Number
            'person_roles:create': Create Person Roles
            'person_roles:delete': Delete Person Roles
            'person_roles:list': List Person Roles
            'person_roles:read': Read Person Roles
            'person_visas:list': List Person Visas
            'person_visas:read': Read Person Visas
            'person_visas:update': Update Person Visas
            'programs.classes.attendance:list': 'List Programs: Class Attendance'
            'programs.classes.attendance:read': 'Read Programs: Class Attendance'
            'programs.classes.attendance:update': 'Update Programs: Class Attendance'
            'programs.classes.meeting_times:list': 'List Programs: Class Meeting Times'
            'programs.classes.meeting_times:read': 'Read Programs: Class Meeting Times'
            'programs.classes:create': 'Create Programs: Classes'
            'programs.classes:read': 'Read Programs: Classes'
            'programs.classes:update': 'Update Programs: Classes'
            'programs.classes:list': 'List Programs: Classes'
            'programs.courses:list': 'List Programs: Courses'
            'programs.courses:read': 'Read Programs: Courses'
            'programs.courses:update': 'Update Programs: Courses'
            'programs.courses:create': 'Create Programs: Courses'
            'programs.enrollments:list': 'List Programs: Enrollments'
            'programs.enrollments:read': 'Read Programs: Enrollments'
            'programs.enrollments:update': 'Update Programs: Enrollments'
            'programs.enrollments:create': 'Create Programs: Enrollments'
            'relationships:list': List Relationships
            'relationships:read': Read Relationships
            'people.relationships:list': 'List Relationships: DEPRECATED'
            'report_card.students.academic_classifications:list': 'List Report Cards: Academic Classifications'
            'report_card.students.academic_classifications:read': 'Read Report Cards: Academic Classifications'
            'report_card.enrollments.attendance:list': 'List Report Cards: Class Attendance'
            'report_card.classes.curriculum:list': 'List Report Cards: Class Curriculum'
            'report_card.classes.curriculum:read': 'Read Report Cards: Class Curriculum'
            'report_card.classes.teachers:list': 'List Report Cards: Class Teachers'
            'report_card.classes.teachers:read': 'Read Report Cards: Class Teachers'
            'report_cards.students.attendance:list': 'List Report Cards: Daily Attendance'
            'report_card.documents:read': 'Read Report Cards: Documents'
            'report_card.documents:list': 'List Report Cards: Documents'
            'report_card.enrollments:list': 'List Report Cards: Enrollments'
            'report_card.enrollments:read': 'Read Report Cards: Enrollments'
            'report_card.students.gpas:list': 'List Report Cards: GPAs'
            'report_card.students.gpas:read': 'Read Report Cards: GPAs'
            'report_card.enrollments.numeric_grades:list': 'List Report Cards: Numeric Grades'
            'report_card.enrollments.numeric_grades:read': 'Read Report Cards: Numeric Grades'
            'report_card.enrollments.qualitative_grades:list': 'List Report Cards: Qualitative Grades'
            'report_card.enrollments.qualitative_grades:read': 'Read Report Cards: Qualitative Grades'
            'resource_reservations.reservations:list': 'List Resource Reservations: Reservations'
            'resource_reservations.reservations:read': 'Read Resource Reservations: Reservations'
            'resource_reservations.reservations:update': 'Update Resource Reservations: Reservations'
            'resource_reservations.reservations:create': 'Create Resource Reservations: Reservations'
            'resource_reservations.resources:create': 'Create Resource Reservations: Resources'
            'resource_reservations.resources:list': 'List Resource Reservations: Resources'
            'resource_reservations.resources:read': 'Read Resource Reservations: Resources'
            'resource_reservations.resources:update': 'Update Resource Reservations: Resources'
            'security_roles:list': List Security Roles
            'staff_faculty:create': Create Staff/Faculty
            'staff_faculty:list': List Staff/Faculty
            'staff_faculty:read': Read Staff/Faculty
            'staff_faculty:update': Update Staff/Faculty
            'standardized_tests.score_types:create': 'Create Standardized Tests: Score Types'
            'standardized_tests.score_types:list': 'List Standardized Tests: Score Types'
            'standardized_tests.score_types:read': 'Read Standardized Tests: Score Types'
            'standardized_tests.score_types:update': 'Update Standardized Tests: Score Types'
            'standardized_tests.scores:list': 'List Standardized Tests: Scores'
            'standardized_tests.scores:read': 'Read Standardized Tests: Scores'
            'standardized_tests.scores:update': 'Update Standardized Tests: Scores'
            'standardized_tests.test_types:create': 'Create Standardized Tests: Test Types'
            'standardized_tests.test_types:list': 'List Standardized Tests: Test Types'
            'standardized_tests.test_types:read': 'Read Standardized Tests: Test Types'
            'standardized_tests.test_types:update': 'Update Standardized Tests: Test Types'
            'standardized_tests.tests:create': 'Create Standardized Tests: Tests'
            'standardized_tests.tests:list': 'List Standardized Tests: Tests'
            'standardized_tests.tests:read': 'Read Standardized Tests: Tests'
            'standardized_tests.tests:update': 'Update Standardized Tests: Tests'
            'student_logistics_requests:create': Create Student Logistics Requests
            'student_logistics_requests:delete': Delete Student Logistics Requests
            'student_logistics_requests:list': List Student Logistics Requests
            'student_logistics_requests:read': Read Student Logistics Requests
            'student_logistics_requests:update': Update Student Logistics Requests
            'student_logistics.categories:list': 'List Student Logistics Requests: Categories'
            'student_logistics.drop_ins:list': 'List Student Logistics Requests: Drop-Ins'
            'student_logistics.reasons:list': 'List Student Logistics Requests: Reasons'
            'students:list': List Students
            'students:read': Read Students
            'summer.classes.attendance:list': 'List Summer: Class Attendance'
            'summer.classes.attendance:read': 'Read Summer: Class Attendance'
            'summer.classes.attendance:update': 'Update Summer: Class Attendance'
            'summer.classes.meeting_times:list': 'List Summer: Class Meeting Times'
            'summer.classes.meeting_times:read': 'Read Summer: Class Meeting Times'
            'summer.classes:create': 'Create Summer: Classes'
            'summer.classes:read': 'Read Summer: Classes'
            'summer.classes:update': 'Update Summer: Classes'
            'summer.classes:list': 'List Summer: Classes'
            'summer.courses:list': 'List Summer: Courses'
            'summer.courses:read': 'Read Summer: Courses'
            'summer.courses:update': 'Update Summer: Courses'
            'summer.courses:create': 'Create Summer: Courses'
            'summer.enrollments:list': 'List Summer: Enrollments'
            'summer.enrollments:read': 'Read Summer: Enrollments'
            'summer.enrollments:update': 'Update Summer: Enrollments'
            'summer.enrollments:create': 'Create Summer: Enrollments'
            'transcripts.academic_classifications:list': 'List Transcripts: Academic Classifications'
            'transcripts.academic_classifications:read': 'Read Transcripts: Academic Classifications'
            'transcripts.gpas:list': 'List Transcripts: GPAs'
            'transcripts.gpas:read': 'Read Transcripts: GPAs'
            'transcripts.student_info:read': 'Read Transcripts: Student Information'
            'transcripts.student_info:list': 'List Transcripts: Student Information'
            'transcripts.transcript_items:list': 'List Transcripts: Transcript Items'
            'transportation.bus_routes:list': 'List Transportation: Bus Routes'
            'transportation.bus_routes:read': 'Read Transportation: Bus Routes'
            'transportation.bus_stops:list': 'List Transportation: Bus Stops'
            'transportation.bus_stops:read': 'Read Transportation: Bus Stops'
            'transportation.bus_trips:list': 'List Transportation: Bus Trips'
            'transportation.bus_trips:read': 'Read Transportation: Bus Trips'
            'transportation.schedules:list': 'List Transportation: Schedules'
            'transportation.schedules:read': 'Read Transportation: Schedules'
            'transportation.trips:read': 'Read Transportation: Trips'
            'transportation.trips:list': 'List Transportation: Trips'
            'volunteer_coordinator.volunteers:list': 'List Volunteer Coordinator: Volunteers'
            'volunteer_coordinator.volunteers:read': 'Read Volunteer Coordinator: Volunteers'
tags:
  - name: 'Academics: Assignment Grades'
  - name: 'Academics: Block Groups'
  - name: 'Academics: Blocks by Group'
  - name: 'Academics: Calendar Rotation Days'
  - name: 'Academics: Class Assignments'
  - name: 'Academics: Class Attendance Status'
  - name: 'Academics: Class Meeting Times'
  - name: 'Academics: Class Schedules'
  - name: 'Academics: Classes'
  - name: 'Academics: Classes - Permissions'
  - name: 'Academics: Configuration - Block Meeting Times'
  - name: 'Academics: Configuration - Block Schedules'
  - name: 'Academics: Configuration - Blocks/Periods'
  - name: 'Academics: Courses'
  - name: 'Academics: Departments'
  - name: 'Academics: Enrollments'
  - name: 'Academics: Grading Periods'
  - name: 'Academics: Numeric Grades'
  - name: 'Academics: Qualitative Grades'
  - name: 'Academics: Rooms'
  - name: 'Academics: Rotation Days'
  - name: 'Academics: Rubric Categories'
  - name: 'Academics: Rubric Criteria'
  - name: 'Academics: Rubric Scales'
  - name: 'Academics: Rubric Scales - Levels'
  - name: 'Academics: Rubrics'
  - name: 'Academics: Student Alerts'
  - name: 'Academics: Student Assignments'
  - name: 'Academics: Student Daily Schedules'
  - name: 'Academics: Subjects'
  - name: 'Academics: Teacher Daily Schedules'
  - name: 'Admission: Applicant Relationships'
  - name: 'Admission: Applicants'
  - name: 'Admission: Application Checklists'
  - name: 'Admission: Applications'
  - name: 'Admission: Citizenships'
  - name: 'Admission: Configuration - Checklists'
  - name: 'Admission: Configuration - Years'
  - name: 'Admission: Household Members'
  - name: 'Admission: Households'
  - name: 'Admission: Languages'
  - name: 'Admission: Relative Relationships'
  - name: 'Admission: Relatives'
  - name: 'Alumni: Demographics'
  - name: 'Athletics: Rosters'
  - name: 'Athletics: Sports'
  - name: 'Athletics: Team Practice Schedules'
  - name: 'Athletics: Teams'
  - name: Attendance Status Codes
  - name: Behavior
  - name: Behavior Incident Types
  - name: 'Boarding: Dorm Attendance'
  - name: 'Boarding: Dorm Students'
  - name: 'Boarding: Dorms'
  - name: 'Calendars: Parent Calendars'
  - name: 'Calendars: Student Calendars'
  - name: Class Attendance
  - name: Classes
  - name: Contact Info
  - name: Courses
  - name: 'Development: Constituents'
  - name: 'Development: Gifts'
  - name: 'Directory Preferences: Household'
  - name: 'Directory Preferences: Person'
  - name: Directory Type Configurations
  - name: 'Directory: Household'
  - name: 'Directory: Staff/Faculty'
  - name: 'Directory: Student'
  - name: Emergency Contacts
  - name: Event Groups
  - name: Event Groups Members
  - name: Event Representatives
  - name: Events
  - name: 'Events: Athletics'
  - name: 'Events: Athletics Opponents'
  - name: 'Events: Athletics Scores'
  - name: 'Events: Attendance'
  - name: 'Extended Care: Class Attendance'
  - name: 'Extended Care: Class Meeting Times'
  - name: 'Extended Care: Classes'
  - name: 'Extended Care: Courses'
  - name: 'Extended Care: Registrations'
  - name: 'Finance: AP Disbursement Items'
  - name: 'Finance: AP Disbursements'
  - name: 'Finance: AP Invoice Items'
  - name: 'Finance: AP Invoices'
  - name: 'Finance: GL Accounts'
  - name: 'Finance: Post AP Invoices'
  - name: 'Finance: Projects'
  - name: 'Finance: Purchase Request Workflow'
  - name: 'Finance: Purchase Request Workflow GL Accounts'
  - name: 'Finance: Tax Types'
  - name: 'Finance: Vendors'
  - name: 'Health: All Patients Conditions'
  - name: 'Health: Patient Conditions'
  - name: 'Health: Patient Medications'
  - name: 'Health: Patients'
  - name: Household Vehicles
  - name: Households
  - name: Master Attendance
  - name: News
  - name: 'Non-Academics: Classes'
  - name: 'Non-Academics: Courses'
  - name: Parents
  - name: Person Accounts
  - name: Person Enrollment History
  - name: Person Photo
  - name: Person Profile Codes
  - name: Person Reference Number
  - name: Person Roles
  - name: Person Visas
  - name: 'Programs: Class Attendance'
  - name: 'Programs: Class Meeting Times'
  - name: 'Programs: Classes'
  - name: 'Programs: Courses'
  - name: 'Programs: Enrollments'
  - name: Relationships
  - name: 'Relationships: DEPRECATED'
  - name: 'Report Cards: Academic Classifications'
  - name: 'Report Cards: Class Attendance'
  - name: 'Report Cards: Class Curriculum'
  - name: 'Report Cards: Class Teachers'
  - name: 'Report Cards: Daily Attendance'
  - name: 'Report Cards: Documents'
  - name: 'Report Cards: Enrollments'
  - name: 'Report Cards: GPAs'
  - name: 'Report Cards: Numeric Grades'
  - name: 'Report Cards: Qualitative Grades'
  - name: 'Resource Reservations: Reservations'
  - name: 'Resource Reservations: Resources'
  - name: Security Roles
  - name: Staff/Faculty
  - name: 'Standardized Tests: Score Types'
  - name: 'Standardized Tests: Scores'
  - name: 'Standardized Tests: Test Types'
  - name: 'Standardized Tests: Tests'
  - name: Student Logistics Requests
  - name: 'Student Logistics Requests: Categories'
  - name: 'Student Logistics Requests: Drop-Ins'
  - name: 'Student Logistics Requests: Reasons'
  - name: Students
  - name: 'Summer: Class Attendance'
  - name: 'Summer: Class Meeting Times'
  - name: 'Summer: Classes'
  - name: 'Summer: Courses'
  - name: 'Summer: Enrollments'
  - name: 'Transcripts: Academic Classifications'
  - name: 'Transcripts: GPAs'
  - name: 'Transcripts: Student Information'
  - name: 'Transcripts: Transcript Items'
  - name: 'Transportation: Bus Routes'
  - name: 'Transportation: Bus Stops'
  - name: 'Transportation: Bus Trips'
  - name: 'Transportation: Schedules'
  - name: 'Transportation: Trips'
  - name: 'Volunteer Coordinator: Volunteers'
