swagger: "2.0"
schemes:
  - https
host: api.schooldigger.com
info:
  contact:
    email: api@schooldigger.com
    name: SchoolDigger
  description: Get detailed data on over 120,000 schools and 18,500 districts in the U.S.<br />Version 2.0 incorporates the ATTOM School Boundary Level add-on and spending per pupil metrics
  termsOfService: https://developer.schooldigger.com/termsofservice
  title: SchoolDigger API V2.0
  version: v2.0
  x-apisguru-categories:
    - open_data
    - open_data
    - education
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_www_schooldigger_com_images_logo-medium.webp
  x-origin:
    - format: swagger
      url: https://api.schooldigger.com/swagger/docs/v2.0
      version: "2.0"
  x-providerName: schooldigger.com
paths:
  /v2.0/autocomplete/schools:
    get:
      consumes: []
      description: ""
      operationId: Autocomplete_GetSchools
      parameters:
        - description: Search term for autocomplete (e.g. 'Lincol') (required)
          in: query
          name: q
          required: false
          type: string
        - description: Extend the search term to include city and state (e.g. 'Lincoln el paso' matches Lincoln Middle School in El Paso) (optional)
          in: query
          name: qSearchCityStateName
          required: false
          type: boolean
        - description: Two character state (e.g. 'CA') (optional -- leave blank to search entire U.S.)
          in: query
          name: st
          required: false
          type: string
        - description: "Search for schools at this level only. Valid values: 'Elementary', 'Middle', 'High', 'Alt', 'Private' (optional - leave blank to search for all schools)"
          in: query
          name: level
          required: false
          type: string
        - description: Search within a 'box' defined by (BoxLatitudeNW/BoxLongitudeNW) to (BoxLongitudeSE/BoxLatitudeSE) (optional. Pro, Enterprise API levels only.)
          format: double
          in: query
          name: boxLatitudeNW
          required: false
          type: number
        - description: Search within a 'box' defined by (BoxLatitudeNW/BoxLongitudeNW) to (BoxLongitudeSE/BoxLatitudeSE) (optional. Pro, Enterprise API levels only.)
          format: double
          in: query
          name: boxLongitudeNW
          required: false
          type: number
        - description: Search within a 'box' defined by (BoxLatitudeNW/BoxLongitudeNW) to (BoxLongitudeSE/BoxLatitudeSE) (optional. Pro, Enterprise API levels only.)
          format: double
          in: query
          name: boxLatitudeSE
          required: false
          type: number
        - description: Search within a 'box' defined by (BoxLatitudeNW/BoxLongitudeNW) to (BoxLongitudeSE/BoxLatitudeSE) (optional. Pro, Enterprise API levels only.)
          format: double
          in: query
          name: boxLongitudeSE
          required: false
          type: number
        - description: "Number of schools to return. Valid values: 1-20. (default: 10)"
          format: int32
          in: query
          name: returnCount
          required: false
          type: integer
        - description: Your API app id
          in: query
          name: appID
          required: true
          type: string
          x-data-threescale-name: app_ids
        - description: Your API app key
          in: query
          name: appKey
          required: true
          type: string
          x-data-threescale-name: app_keys
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/APIAutocompleteSchoolResult"
      summary: Returns a simple and quick list of schools for use in a client-typed autocomplete
      tags:
        - Autocomplete
  /v2.0/districts:
    get:
      consumes: []
      description: Search the SchoolDigger database for districts. You may use any combination of criteria as query parameters.
      operationId: Districts_GetAllDistricts2
      parameters:
        - description: Two character state (e.g. 'CA') - required
          in: query
          name: st
          required: true
          type: string
        - description: "Search term - note: will match district name or city (optional)"
          in: query
          name: q
          required: false
          type: string
        - description: Search for districts in this city (optional)
          in: query
          name: city
          required: false
          type: string
        - description: Search for districts in this 5-digit zip code (optional)
          in: query
          name: zip
          required: false
          type: string
        - description: Search for districts within (distanceMiles) of (nearLatitude)/(nearLongitude) (e.g. 44.982560) (optional) (Pro, Enterprise API levels only. Enterprise API level will flag districts that include lat/long in its attendance boundary.)
          format: double
          in: query
          name: nearLatitude
          required: false
          type: number
        - description: Search for districts within (distanceMiles) of (nearLatitude)/(nearLongitude) (e.g. -124.289185) (optional) (Pro, Enterprise API levels only. Enterprise API level will flag districts that include lat/long in its attendance boundary.)
          format: double
          in: query
          name: nearLongitude
          required: false
          type: number
        - description: "Full U.S. address: flag returned districts that include this address in its attendance boundary. Example: '123 Main St. AnyTown CA 90001' (optional) (Enterprise API level only)"
          in: query
          name: boundaryAddress
          required: false
          type: string
        - description: Search for districts within (distanceMiles) of (nearLatitude)/(nearLongitude) (Default 50 miles) (optional) (Pro, Enterprise API levels only)
          format: int32
          in: query
          name: distanceMiles
          required: false
          type: integer
        - description: Return only the districts that include given location (nearLatitude/nearLongitude) or (boundaryAddress) in its attendance boundary (Enterprise API level only)
          in: query
          name: isInBoundaryOnly
          required: false
          type: boolean
        - description: Search for districts within a 'box' defined by (BoxLatitudeNW/BoxLongitudeNW) to (BoxLongitudeSE/BoxLatitudeSE) (optional)
          format: double
          in: query
          name: boxLatitudeNW
          required: false
          type: number
        - description: Search for districts within a 'box' defined by (BoxLatitudeNW/BoxLongitudeNW) to (BoxLongitudeSE/BoxLatitudeSE) (optional)
          format: double
          in: query
          name: boxLongitudeNW
          required: false
          type: number
        - description: Search for districts within a 'box' defined by (BoxLatitudeNW/BoxLongitudeNW) to (BoxLongitudeSE/BoxLatitudeSE) (optional)
          format: double
          in: query
          name: boxLatitudeSE
          required: false
          type: number
        - description: Search for districts within a 'box' defined by (BoxLatitudeNW/BoxLongitudeNW) to (BoxLongitudeSE/BoxLatitudeSE) (optional)
          format: double
          in: query
          name: boxLongitudeSE
          required: false
          type: number
        - description: "Page number to retrieve (optional, default: 1)"
          format: int32
          in: query
          name: page
          required: false
          type: integer
        - description: "Number of districts to retrieve on a page (50 max) (optional, default: 10)"
          format: int32
          in: query
          name: perPage
          required: false
          type: integer
        - description: "Sort list. Values are: districtname, distance, rank. For descending order, precede with '-' i.e. -districtname (optional, default: districtname)"
          in: query
          name: sortBy
          required: false
          type: string
        - description: "If sortBy is 'rank', this boolean determines if districts with no rank are included in the result (optional, default: false)"
          in: query
          name: includeUnrankedDistrictsInRankSort
          required: false
          type: boolean
        - description: Your API app id
          in: query
          name: appID
          required: true
          type: string
          x-data-threescale-name: app_ids
        - description: Your API app key
          in: query
          name: appKey
          required: true
          type: string
          x-data-threescale-name: app_keys
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/APIDistrictList2"
      summary: Returns a list of districts
      tags:
        - Districts
  "/v2.0/districts/{id}":
    get:
      consumes: []
      description: Retrieve a single district record from the SchoolDigger database
      operationId: Districts_GetDistrict2
      parameters:
        - description: The 7 digit District ID (e.g. 0642150)
          in: path
          name: id
          required: true
          type: string
        - description: Your API app id
          in: query
          name: appID
          required: true
          type: string
          x-data-threescale-name: app_ids
        - description: Your API app key
          in: query
          name: appKey
          required: true
          type: string
          x-data-threescale-name: app_keys
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/APIDistrict12"
      summary: Returns a detailed record for one district
      tags:
        - Districts
  "/v2.0/rankings/districts/{st}":
    get:
      consumes: []
      operationId: Rankings_GetRank_District
      parameters:
        - description: Two character state (e.g. 'CA')
          in: path
          name: st
          required: true
          type: string
        - description: The ranking year (leave blank for most recent year)
          format: int32
          in: query
          name: year
          required: false
          type: integer
        - description: "Page number to retrieve (optional, default: 1)"
          format: int32
          in: query
          name: page
          required: false
          type: integer
        - description: "Number of districts to retrieve on a page (50 max) (optional, default: 10)"
          format: int32
          in: query
          name: perPage
          required: false
          type: integer
        - description: Your API app id
          in: query
          name: appID
          required: true
          type: string
          x-data-threescale-name: app_ids
        - description: Your API app key
          in: query
          name: appKey
          required: true
          type: string
          x-data-threescale-name: app_keys
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/APIDistrictListRank2"
      summary: Returns a SchoolDigger district ranking list
      tags:
        - Rankings
  "/v2.0/rankings/schools/{st}":
    get:
      consumes: []
      operationId: Rankings_GetSchoolRank2
      parameters:
        - description: Two character state (e.g. 'CA')
          in: path
          name: st
          required: true
          type: string
        - description: The ranking year (leave blank for most recent year)
          format: int32
          in: query
          name: year
          required: false
          type: integer
        - description: "Level of ranking: 'Elementary', 'Middle', or 'High'"
          in: query
          name: level
          required: false
          type: string
        - description: "Page number to retrieve (optional, default: 1)"
          format: int32
          in: query
          name: page
          required: false
          type: integer
        - description: "Number of schools to retrieve on a page (50 max) (optional, default: 10)"
          format: int32
          in: query
          name: perPage
          required: false
          type: integer
        - description: Your API app id
          in: query
          name: appID
          required: true
          type: string
          x-data-threescale-name: app_ids
        - description: Your API app key
          in: query
          name: appKey
          required: true
          type: string
          x-data-threescale-name: app_keys
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/APISchoolListRank2"
      summary: Returns a SchoolDigger school ranking list
      tags:
        - Rankings
  /v2.0/schools:
    get:
      consumes: []
      description: Search the SchoolDigger database for schools. You may use any combination of criteria as query parameters.
      operationId: Schools_GetAllSchools20
      parameters:
        - description: Two character state (e.g. 'CA') - required
          in: query
          name: st
          required: true
          type: string
        - description: "Search term - note: will match school name or city (optional)"
          in: query
          name: q
          required: false
          type: string
        - description: For parameter 'q', only search school names instead of school and city (optional)
          in: query
          name: qSearchSchoolNameOnly
          required: false
          type: boolean
        - description: Search for schools within this district (7 digit district id) (optional)
          in: query
          name: districtID
          required: false
          type: string
        - description: "Search for schools at this level. Valid values: 'Elementary', 'Middle', 'High', 'Alt', 'Public', 'Private' (optional). 'Public' returns all Elementary, Middle, High and Alternative schools"
          in: query
          name: level
          required: false
          type: string
        - description: Search for schools in this city (optional)
          in: query
          name: city
          required: false
          type: string
        - description: Search for schools in this 5-digit zip code (optional)
          in: query
          name: zip
          required: false
          type: string
        - description: True = return only magnet schools, False = return only non-magnet schools (optional) (Pro, Enterprise API levels only)
          in: query
          name: isMagnet
          required: false
          type: boolean
        - description: True = return only charter schools, False = return only non-charter schools (optional) (Pro, Enterprise API levels only)
          in: query
          name: isCharter
          required: false
          type: boolean
        - description: True = return only virtual schools, False = return only non-virtual schools (optional) (Pro, Enterprise API levels only)
          in: query
          name: isVirtual
          required: false
          type: boolean
        - description: True = return only Title I schools, False = return only non-Title I schools (optional) (Pro, Enterprise API levels only)
          in: query
          name: isTitleI
          required: false
          type: boolean
        - description: True = return only Title I school-wide schools, False = return only non-Title I school-wide schools (optional) (Pro, Enterprise API levels only)
          in: query
          name: isTitleISchoolwide
          required: false
          type: boolean
        - description: Search for schools within (distanceMiles) of (nearLatitude)/(nearLongitude) (e.g. 44.982560) (optional) (Pro, Enterprise API levels only.)
          format: double
          in: query
          name: nearLatitude
          required: false
          type: number
        - description: Search for schools within (distanceMiles) of (nearLatitude)/(nearLongitude) (e.g. -124.289185) (optional) (Pro, Enterprise API levels only.)
          format: double
          in: query
          name: nearLongitude
          required: false
          type: number
        - description: "Search for schools within (distanceMiles) of this address. Example: '123 Main St. AnyTown CA 90001' (optional) (Pro, Enterprise API level only) IMPORTANT NOTE: If you have the lat/long of the address, use nearLatitude and nearLongitude instead for much faster response times"
          in: query
          name: nearAddress
          required: false
          type: string
        - description: Search for schools within (distanceMiles) of (nearLatitude)/(nearLongitude) (Default 5 miles) (optional) (Pro, Enterprise API levels only)
          format: int32
          in: query
          name: distanceMiles
          required: false
          type: integer
        - description: Search for schools that include this (boundaryLatitude)/(boundaryLongitude) in its attendance boundary (e.g. 44.982560) (optional) (Requires School Boundary API Plan add-on. Calls with this parameter supplied will count toward your monthly call limit.)
          format: double
          in: query
          name: boundaryLatitude
          required: false
          type: number
        - description: Search for schools that include this (boundaryLatitude)/(boundaryLongitude) in its attendance boundary (e.g. -124.289185) (optional) (Requires School Boundary API Plan add-on. Calls with this parameter supplied will count toward your monthly call limit.
          format: double
          in: query
          name: boundaryLongitude
          required: false
          type: number
        - description: "Full U.S. address: flag returned schools that include this address in its attendance boundary. Example: '123 Main St. AnyTown CA 90001' (optional) (Requires School Boundary API Plan add-on. Calls with this parameter supplied will count toward your monthly call limit.) IMPORTANT NOTE: If you have the lat/long of the address, use boundaryLatitude and boundaryLongitude instead for much faster response times"
          in: query
          name: boundaryAddress
          required: false
          type: string
        - description: Return only the schools that include given location (boundaryLatitude/boundaryLongitude) or (boundaryAddress) in its attendance boundary (Requires School Boundary API Plan add-on.)
          in: query
          name: isInBoundaryOnly
          required: false
          type: boolean
        - description: Search for schools within a 'box' defined by (boxLatitudeNW/boxLongitudeNW) to (boxLongitudeSE/boxLatitudeSE) (optional)
          format: double
          in: query
          name: boxLatitudeNW
          required: false
          type: number
        - description: Search for schools within a 'box' defined by (boxLatitudeNW/boxLongitudeNW) to (boxLongitudeSE/boxLatitudeSE) (optional)
          format: double
          in: query
          name: boxLongitudeNW
          required: false
          type: number
        - description: Search for schools within a 'box' defined by (boxLatitudeNW/boxLongitudeNW) to (boxLongitudeSE/boxLatitudeSE) (optional)
          format: double
          in: query
          name: boxLatitudeSE
          required: false
          type: number
        - description: Search for schools within a 'box' defined by (boxLatitudeNW/boxLongitudeNW) to (boxLongitudeSE/boxLatitudeSE) (optional)
          format: double
          in: query
          name: boxLongitudeSE
          required: false
          type: number
        - description: "Page number to retrieve (optional, default: 1)"
          format: int32
          in: query
          name: page
          required: false
          type: integer
        - description: "Number of schools to retrieve on a page (50 max) (optional, default: 10)"
          format: int32
          in: query
          name: perPage
          required: false
          type: integer
        - description: "Sort list. Values are: schoolname, distance, rank. For descending order, precede with '-' i.e. -schoolname (optional, default: schoolname)"
          in: query
          name: sortBy
          required: false
          type: string
        - description: "If sortBy is 'rank', this boolean determines if schools with no rank are included in the result (optional, default: false)"
          in: query
          name: includeUnrankedSchoolsInRankSort
          required: false
          type: boolean
        - description: Your API app id
          in: query
          name: appID
          required: true
          type: string
          x-data-threescale-name: app_ids
        - description: Your API app key
          in: query
          name: appKey
          required: true
          type: string
          x-data-threescale-name: app_keys
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/APISchoolList2"
      summary: Returns a list of schools
      tags:
        - Schools
  "/v2.0/schools/{id}":
    get:
      consumes: []
      description: Retrieve a school record from the SchoolDigger database
      operationId: Schools_GetSchool20
      parameters:
        - description: The 12 digit School ID (e.g. 064215006903)
          in: path
          name: id
          required: true
          type: string
        - description: Your API app id
          in: query
          name: appID
          required: true
          type: string
          x-data-threescale-name: app_ids
        - description: Your API app key
          in: query
          name: appKey
          required: true
          type: string
          x-data-threescale-name: app_keys
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/APISchool20Full"
      summary: Returns a detailed record for one school
      tags:
        - Schools
definitions:
  APIAutocompleteSchoolResult:
    properties:
      schoolMatches:
        description: List of the schools that match the query
        items:
          $ref: "#/definitions/APISchoolAC"
        type: array
    type: object
  APIBoundary12:
    properties:
      hasBoundary:
        description: States whether there is a boundary available
        readOnly: false
        type: boolean
      polylineCollection:
        description: "Collection of one or more polylines that can be used to create the boundary on a map. NOTE: this value is JSON encoded. Specifically, backslashes will be returned escaped (two backslashes). Make sure to decode the polyline before you use it"
        items:
          $ref: "#/definitions/APIPolyline"
        readOnly: false
        type: array
      polylines:
        description: Collection of latitude/longitude vertices to form a polygon representing the boundary
        readOnly: false
        type: string
    type: object
  APICounty:
    properties:
      countyName:
        description: County in which the school or district is located
        type: string
      countyURL:
        description: SchoolDigger URL for all schools in this county
        readOnly: false
        type: string
    type: object
  APIDistrict12:
    properties:
      address:
        $ref: "#/definitions/APILocation"
        description: District's physical address
        readOnly: false
      boundary:
        $ref: "#/definitions/APIBoundary12"
        description: Attendance boundary (Pro, Enterprise levels only)
        readOnly: false
      county:
        $ref: "#/definitions/APICounty"
        description: County where district is located
        readOnly: false
      districtID:
        description: SchoolDigger District ID Number (7 digits)
        readOnly: false
        type: string
      districtName:
        description: District name
        type: string
      districtYearlyDetails:
        description: District yearly metrics
        items:
          $ref: "#/definitions/APILEAYearlyDetail"
        readOnly: false
        type: array
      highGrade:
        description: The high grade served by this district
        readOnly: false
        type: string
      isWithinBoundary:
        description: Indicates whether this district's boundary includes the specified location from nearLatitude/nearLongitude
        readOnly: false
        type: boolean
      lowGrade:
        description: The low grade served by this district (PK = Prekindergarten, K = Kindergarten)
        readOnly: false
        type: string
      numberAlternativeSchools:
        format: int32
        readOnly: false
        type: integer
      numberHighSchools:
        format: int32
        readOnly: false
        type: integer
      numberMiddleSchools:
        format: int32
        readOnly: false
        type: integer
      numberPrimarySchools:
        format: int32
        readOnly: false
        type: integer
      numberTotalSchools:
        format: int32
        readOnly: false
        type: integer
      phone:
        description: District phone number
        type: string
      rankHistory:
        description: SchoolDigger yearly rank history of the district
        items:
          $ref: "#/definitions/APILEARankHistory"
        readOnly: false
        type: array
      testScores:
        description: Test scores (district and state) -- requires Pro or Enterprise level API subscription
        items:
          $ref: "#/definitions/APITestScoreWrapper"
        readOnly: false
        type: array
      url:
        description: SchoolDigger URL for this district
        readOnly: false
        type: string
    type: object
  APIDistrict2Summary:
    properties:
      address:
        $ref: "#/definitions/APILocation"
        description: District's physical address
        readOnly: false
      county:
        $ref: "#/definitions/APICounty"
        description: County where district is located
        readOnly: false
      distance:
        description: Distance from nearLatitude/nearLongitude (if supplied)
        format: double
        type: number
      districtID:
        description: SchoolDigger District ID Number (7 digits). Use /districts/{districtID} to retrieve the entire district record
        readOnly: false
        type: string
      districtName:
        description: District name
        type: string
      districtYearlyDetails:
        description: District yearly metrics
        items:
          $ref: "#/definitions/APILEAYearlyDetail"
        readOnly: false
        type: array
      hasBoundary:
        description: Indicates that an attendance boundary is available for this district. (To retrieve, look up district with /districts/{id})
        readOnly: false
        type: boolean
      highGrade:
        description: The high grade served by this district
        readOnly: false
        type: string
      isWithinBoundary:
        description: Indicates whether this district's boundary includes the specified location from nearLatitude/nearLongitude
        readOnly: false
        type: boolean
      locationIsWithinBoundary:
        description: Indicates whether this school's boundary includes the specified location from nearLatitude/nearLongitude or boundaryAddress (Enterprise API level)
        readOnly: false
        type: boolean
      lowGrade:
        description: The low grade served by this district (PK = Prekindergarten, K = Kindergarten)
        readOnly: false
        type: string
      numberAlternativeSchools:
        description: Count of schools designated as other/alternative schools
        format: int32
        readOnly: false
        type: integer
      numberHighSchools:
        description: Count of schools designated as high schools
        format: int32
        readOnly: false
        type: integer
      numberMiddleSchools:
        description: Count of schools designated as middle schools
        format: int32
        readOnly: false
        type: integer
      numberPrimarySchools:
        description: Count of schools designated as primary schools
        format: int32
        readOnly: false
        type: integer
      numberTotalSchools:
        description: Count of schools in the district
        format: int32
        readOnly: false
        type: integer
      phone:
        description: District phone number
        type: string
      rankHistory:
        description: SchoolDigger yearly rank history of the district
        items:
          $ref: "#/definitions/APILEARankHistory"
        readOnly: false
        type: array
      url:
        description: SchoolDigger URL for this district
        readOnly: false
        type: string
    type: object
  APIDistrictList2:
    properties:
      districtList:
        items:
          $ref: "#/definitions/APIDistrict2Summary"
        type: array
      numberOfDistricts:
        description: The total count of districts that match your query
        format: int32
        readOnly: false
        type: integer
      numberOfPages:
        description: The total count of pages in your query list based on given per_page value
        format: int32
        readOnly: false
        type: integer
    type: object
  APIDistrictListRank2:
    properties:
      districtList:
        items:
          $ref: "#/definitions/APIDistrict2Summary"
        type: array
      numberOfDistricts:
        description: The total count of districts in the entire rank list
        format: int32
        readOnly: false
        type: integer
      numberOfPages:
        description: The total count of pages in your query list based on given per_page value
        format: int32
        readOnly: false
        type: integer
      rankCompareYear:
        format: int32
        type: integer
      rankYear:
        description: Year this ranking list represents (2018 = 2017-18)
        format: int32
        type: integer
      rankYearCompare:
        description: Year rankings returned for comparison (2018 = 2017-18)
        format: int32
        type: integer
      rankYearsAvailable:
        description: The years for which SchoolDigger district rankings are available for this state
        items:
          format: int32
          type: integer
        type: array
    type: object
  APIDistrictSum:
    description: District Summary
    properties:
      districtID:
        description: The 7 digit SchoolDigger District id number
        readOnly: false
        type: string
      districtName:
        type: string
      rankURL:
        description: The URL to see the district in the SchoolDigger ranking list
        readOnly: false
        type: string
      url:
        description: The URL to see the district details on SchoolDigger
        readOnly: false
        type: string
    type: object
  APILEARankHistory:
    properties:
      rank:
        description: Statewide rank of this district
        format: int32
        readOnly: false
        type: integer
      rankOf:
        description: Count of district ranked in this state
        format: int32
        readOnly: false
        type: integer
      rankScore:
        description: The rank score calculated by SchoolDigger (see https://www.schooldigger.com/aboutranking.aspx)
        format: double
        readOnly: false
        type: number
      rankStars:
        description: The number of stars SchoolDigger awarded in the ranking of the district (0-5, 5 is best)
        format: int32
        readOnly: false
        type: integer
      rankStatewidePercentage:
        description: Percentile of this district's rank (e.g. this district performed better than (x)% of this state's districts)
        format: double
        readOnly: false
        type: number
      year:
        description: School year (2017 - 2016-17)
        format: int32
        readOnly: false
        type: integer
    type: object
  APILEAYearlyDetail:
    properties:
      numberOfAids:
        description: Number of full-time equivalent instructional aids employed by the district
        format: double
        type: number
      numberOfCoordsSupervisors:
        description: Number of full-time equivalent instructional coordinators/supervisors employed by the district
        format: double
        type: number
      numberOfEnglishLanguageLearnerStudents:
        description: The number of English language learner (ELL) students served in appropriate programs
        format: int32
        type: integer
      numberOfGuidanceElem:
        description: Number of full-time equivalent elementary guidance counselors employed by the district
        format: double
        type: number
      numberOfGuidanceSecondary:
        description: Number of full-time equivalent secondary guidance counselors employed by the district
        format: double
        type: number
      numberOfGuidanceTotal:
        description: Total number of full-time equivalent guidance counselors employed by the district
        format: double
        type: number
      numberOfLEAAdministrators:
        description: Number of full-time equivalent LEA administrators employed by the district (LEA)
        format: double
        type: number
      numberOfLEASupportStaff:
        description: Number of full-time equivalent LEA administrative support staff employed by the district (LEA)
        format: double
        type: number
      numberOfLibrarians:
        description: Number of full-time equivalent librarians/media specialists employed by the district
        format: double
        type: number
      numberOfLibraryStaff:
        description: Number of full-time equivalent librarians/media support staff employed by the district
        format: double
        type: number
      numberOfOtherSupportStaff:
        description: Number of full-time equivalent all other support staff employed by the district (LEA)
        format: double
        type: number
      numberOfSchoolAdminSupportStaff:
        description: Number of full-time equivalent school administrative support staff employed by the district (LEA)
        format: double
        type: number
      numberOfSchoolAdministrators:
        description: Number of full-time equivalent school administrators employed by the district (LEA)
        format: double
        type: number
      numberOfSpecialEdStudents:
        description: The number of students having a written Individualized Education Program (IEP) under the Individuals With Disabilities Education Act (IDEA)
        format: int32
        type: integer
      numberOfStudentSupportStaff:
        description: Number of full-time equivalent student support services staff employed by the district (LEA)
        format: double
        type: number
      numberOfStudents:
        description: Number of students enrolled in the district
        format: int32
        type: integer
      numberOfTeachers:
        description: Number of full-time equivalent teachers employed by the district
        format: double
        type: number
      numberOfTeachersElementary:
        description: Number of full-time equivalent elementary teachers employed by the district
        format: double
        type: number
      numberOfTeachersK:
        description: Number of full-time equivalent kindergarten teachers employed by the district
        format: double
        type: number
      numberOfTeachersPK:
        description: Number of full-time equivalent pre-kindergarten teachers employed by the district
        format: double
        type: number
      numberOfTeachersSecondary:
        description: Number of full-time equivalent secondary teachers employed by the district
        format: double
        type: number
      year:
        description: School year (2018 = 2017-18)
        format: int32
        type: integer
    type: object
  APILatLong:
    properties:
      latitude:
        format: double
        type: number
      longitude:
        format: double
        type: number
    type: object
  APILocation:
    properties:
      city:
        type: string
      cityURL:
        description: SchoolDigger URL for schools in this city
        readOnly: false
        type: string
      html:
        description: HTML formatted address
        readOnly: false
        type: string
      latLong:
        $ref: "#/definitions/APILatLong"
        description: Latitude/longitude of school address (Pro and Enterprise API levels only)
        readOnly: false
      state:
        type: string
      stateFull:
        description: Full state name (WA = Washington)
        readOnly: false
        type: string
      street:
        type: string
      zip:
        type: string
      zip4:
        type: string
      zipURL:
        description: SchoolDigger URL for schools in this zip code
        readOnly: false
        type: string
    type: object
  APIPolyline:
    properties:
      numberEncodedPoints:
        description: Number of encoded points in polyline
        format: int32
        type: integer
      polylineOverlayEncodedPoints:
        description: "Polyline for use with Google Maps or other mapping software. NOTE: this value is JSON encoded. Specifically, backslashes will be returned escaped (two backslashes). Make sure to decode the polyline before you use it"
        type: string
    type: object
  APIRankHistory:
    properties:
      averageStandardScore:
        description: "The Average Standard score calculated by SchoolDigger (see: https://www.schooldigger.com/aboutrankingmethodology.aspx)"
        format: double
        type: number
      rank:
        description: Statewide rank of this School
        format: int32
        readOnly: false
        type: integer
      rankLevel:
        description: The level for which this school is ranked (Elementary, Middle, High)
        readOnly: false
        type: string
      rankOf:
        description: Count of schools ranked at this state/level
        format: int32
        readOnly: false
        type: integer
      rankStars:
        description: The number of stars SchoolDigger awarded in the ranking of the school (0-5, 5 is best)
        format: int32
        readOnly: false
        type: integer
      rankStatewidePercentage:
        description: Percentile of this school's rank (e.g. this school performed better than (x)% of this state's elementary schools)
        format: double
        readOnly: false
        type: number
      year:
        description: School year (2017 - 2016-17)
        format: int32
        readOnly: false
        type: integer
    type: object
  APISchool20Full:
    properties:
      address:
        $ref: "#/definitions/APILocation"
        description: School's physical address
        readOnly: false
      county:
        $ref: "#/definitions/APICounty"
        description: County where school is located
        readOnly: false
      district:
        $ref: "#/definitions/APIDistrictSum"
        description: District of school (public schools only)
        readOnly: false
      finance:
        description: School finance (Pro and Enterprise API level only)
        items:
          $ref: "#/definitions/APISchoolFinance"
        type: array
      highGrade:
        description: The high grade served by this school
        readOnly: false
        type: string
      isCharterSchool:
        description: Indicates if school is a charter school (Yes/No/n-a)
        readOnly: false
        type: string
      isMagnetSchool:
        description: Indicates if school is a magnet school (Yes/No/n-a)
        readOnly: false
        type: string
      isPrivate:
        description: Indicates if school is a private school (Yes/No)
        readOnly: false
        type: boolean
      isTitleISchool:
        description: Indicates if school is a Title I school (Yes/No/n-a)
        readOnly: false
        type: string
      isTitleISchoolwideSchool:
        description: Indicates if a school-wide Title I school (Yes/No/n-a)
        readOnly: false
        type: string
      isVirtualSchool:
        description: Indicates if school is a virtual school (Yes/No/n-a)
        readOnly: false
        type: string
      locale:
        description: NCES Locale of school (https://nces.ed.gov/ccd/rural_locales.asp)
        readOnly: false
        type: string
      lowGrade:
        description: The low grade served by this school (PK = Prekindergarten, K = Kindergarten)
        readOnly: false
        type: string
      phone:
        description: School phone number
        readOnly: false
        type: string
      privateCoed:
        description: Coed/Boys/Girls (private schools only)
        readOnly: false
        type: string
      privateDays:
        description: Days in the school year (private schools only)
        format: int32
        readOnly: false
        type: integer
      privateHasLibrary:
        description: Indicates if the school has a library (private schools only)
        readOnly: false
        type: boolean
      privateHours:
        description: Hours in the school day (private schools only)
        format: double
        readOnly: false
        type: number
      privateOrientation:
        description: Affiliation of the school (private schools only)
        readOnly: false
        type: string
      rankHistory:
        description: SchoolDigger yearly rank history of the school
        items:
          $ref: "#/definitions/APIRankHistory"
        readOnly: false
        type: array
      rankMovement:
        description: Returns the movement of rank for this school between current and previous year
        format: int32
        readOnly: false
        type: integer
      reviews:
        description: List of reviews for this school submitted by SchoolDigger site visitors
        items:
          $ref: "#/definitions/APISchoolReview"
        readOnly: false
        type: array
      schoolLevel:
        description: The level of school (Elementary, Middle, High, Private, Alternative)
        readOnly: false
        type: string
      schoolName:
        description: School name
        readOnly: false
        type: string
      schoolYearlyDetails:
        description: School Yearly metrics
        items:
          $ref: "#/definitions/APIYearlyDemographics"
        readOnly: false
        type: array
      schoolid:
        description: SchoolDigger School ID Number (12 digits)
        readOnly: false
        type: string
      testScores:
        description: Test scores (including district and state) -- requires Pro or Enterprise level API subscription
        items:
          $ref: "#/definitions/APITestScoreWrapper"
        readOnly: false
        type: array
      url:
        description: URL of the school's public website
        readOnly: false
        type: string
      urlCompareSchoolDigger:
        description: SchoolDigger URL for comparing this school to nearby schools
        readOnly: false
        type: string
      urlSchoolDigger:
        description: SchoolDigger URL for this school
        readOnly: false
        type: string
    type: object
  APISchool2Summary:
    description: "APISchool2Summary: A summary of a school record. For the full school record, call /schools/{id}"
    properties:
      address:
        $ref: "#/definitions/APILocation"
        description: School's physical address
        readOnly: false
      county:
        $ref: "#/definitions/APICounty"
        description: County where school is located
        readOnly: false
      distance:
        description: Distance from nearLatitude/nearLongitude, boundaryLatitude/boundaryLongitude, or boundaryAddress (if supplied)
        format: double
        readOnly: false
        type: number
      district:
        $ref: "#/definitions/APIDistrictSum"
        description: District of school (public schools only)
        readOnly: false
      hasBoundary:
        description: Indicates that an attendance boundary is available for this school.
        readOnly: false
        type: boolean
      highGrade:
        description: The high grade served by this school
        readOnly: false
        type: string
      isCharterSchool:
        description: Indicates if school is a charter school (Yes/No/n-a)
        readOnly: false
        type: string
      isMagnetSchool:
        description: Indicates if school is a magnet school (Yes/No/n-a)
        readOnly: false
        type: string
      isPrivate:
        description: Indicates if school is a private school (Yes/No)
        readOnly: false
        type: boolean
      isTitleISchool:
        description: Indicates if school is a Title I school (Yes/No/n-a)
        readOnly: false
        type: string
      isTitleISchoolwideSchool:
        description: Indicates if a school-wide Title I school (Yes/No/n-a)
        readOnly: false
        type: string
      isVirtualSchool:
        description: Indicates if school is a virtual school (Yes/No/n-a)
        readOnly: false
        type: string
      locale:
        description: NCES Locale of school (https://nces.ed.gov/ccd/rural_locales.asp)
        readOnly: false
        type: string
      locationIsWithinBoundary:
        description: Indicates whether this school's boundary includes the specified location from boundaryLatitude/boundaryLongitude or boundaryAddress. (School Boundary Add-on Package required)
        readOnly: false
        type: boolean
      lowGrade:
        description: The low grade served by this school (PK = Prekindergarten, K = Kindergarten)
        readOnly: false
        type: string
      phone:
        description: School phone number
        readOnly: false
        type: string
      privateCoed:
        description: Coed/Boys/Girls (private schools only)
        readOnly: false
        type: string
      privateDays:
        description: Days in the school year (private schools only)
        format: int32
        readOnly: false
        type: integer
      privateHasLibrary:
        description: Indicates if the school has a library (private schools only)
        readOnly: false
        type: boolean
      privateHours:
        description: Hours in the school day (private schools only)
        format: double
        readOnly: false
        type: number
      privateOrientation:
        description: Affiliation of the school (private schools only)
        readOnly: false
        type: string
      rankHistory:
        description: SchoolDigger yearly rank history of the school. To retrieve all years, call /schools/{id}.
        items:
          $ref: "#/definitions/APIRankHistory"
        readOnly: false
        type: array
      rankMovement:
        description: Returns the movement of rank for this school between current and previous year
        format: int32
        readOnly: false
        type: integer
      schoolLevel:
        description: The level of school (Elementary, Middle, High, Private, Alternative)
        readOnly: false
        type: string
      schoolName:
        description: School name
        readOnly: false
        type: string
      schoolYearlyDetails:
        description: School Yearly metrics. To retrieve all years, call /schools/{id}.
        items:
          $ref: "#/definitions/APIYearlyDemographics"
        readOnly: false
        type: array
      schoolid:
        description: SchoolDigger School ID Number (12 digits)
        readOnly: false
        type: string
      url:
        description: SchoolDigger URL for this school
        readOnly: false
        type: string
      urlCompare:
        description: SchoolDigger URL for comparing this school to nearby schools
        readOnly: false
        type: string
    type: object
  APISchoolAC:
    properties:
      city:
        description: School location city
        type: string
      hasBoundary:
        description: States whether there is an attendance boundary available for this school
        type: boolean
      highGrade:
        description: The high grade served by this school
        type: string
      latitude:
        description: School location latitude
        format: double
        type: number
      longitude:
        description: School location longitude
        format: double
        type: number
      lowGrade:
        description: The low grade served by this school (PK = Prekindergarten, K = Kindergarten)
        type: string
      rank:
        description: Statewide rank of this School
        format: int32
        type: integer
      rankOf:
        description: Count of schools ranked at this state/level
        format: int32
        type: integer
      rankStars:
        description: The number of stars SchoolDigger awarded in the ranking of the school (0-5, 5 is best)
        format: int32
        type: integer
      schoolLevel:
        description: The level of school (Elementary, Middle, High, Private, Alternative)
        type: string
      schoolName:
        description: School name
        type: string
      schoolid:
        description: SchoolDigger School ID Number (12 digits). Use /schools/{schoolID} to retrieve the full school record
        type: string
      state:
        description: School location state
        type: string
      zip:
        description: School location zip code
        type: string
    type: object
  APISchoolFinance:
    properties:
      spendingFederalNonPersonnel:
        description: Spending per student for Non-personnel at the Federal Level (Enterprise level only)
        format: float
        readOnly: false
        type: number
      spendingFederalPersonnel:
        description: Spending per student for Personnel at the Federal Level (Enterprise level only)
        format: float
        readOnly: false
        type: number
      spendingPerStudent:
        description: Total spending per student from all funds (Pro or Enterprise level only)
        format: float
        readOnly: false
        type: number
      spendingPerStudentFederal:
        description: Spending per student at the Federal Level (Enterprise level only)
        format: float
        readOnly: false
        type: number
      spendingPerStudentStateLocal:
        description: Spending per student at the State and Local Level (Enterprise level only)
        format: float
        readOnly: false
        type: number
      spendingStateLocalNonPersonnel:
        description: Spending per student for Non-personnel at the State and Local Level (Enterprise level only)
        format: float
        readOnly: false
        type: number
      spendingStateLocalPersonnel:
        description: Spending per student for Personnel at the State and Local Level (Enterprise level only)
        format: float
        readOnly: false
        type: number
      year:
        description: Fiscal School year (2021 = 2020-2021 year)
        format: int32
        readOnly: false
        type: integer
    type: object
  APISchoolList2:
    properties:
      numberOfPages:
        description: The total count of pages in your query list based on given per_page value
        format: int32
        readOnly: false
        type: integer
      numberOfSchools:
        description: The total count of schools that match your query
        format: int32
        readOnly: false
        type: integer
      schoolList:
        items:
          $ref: "#/definitions/APISchool2Summary"
        type: array
    type: object
  APISchoolListRank2:
    properties:
      numberOfPages:
        description: The total count of pages this ranking list based on given per_page value
        format: int32
        readOnly: false
        type: integer
      numberOfSchools:
        description: The total count of schools in this ranking list
        format: int32
        readOnly: false
        type: integer
      rankYear:
        description: Year this ranking list represents (2018 = 2017-18)
        format: int32
        type: integer
      rankYearCompare:
        description: Year rankings returned for comparison (2018 = 2017-18)
        format: int32
        type: integer
      rankYearsAvailable:
        description: The years for which SchoolDigger rankings are available for this state and level
        items:
          format: int32
          type: integer
        type: array
      schoolList:
        description: The schools in the ranking list
        items:
          $ref: "#/definitions/APISchool2Summary"
        readOnly: false
        type: array
    type: object
  APISchoolReview:
    properties:
      comment:
        description: Comment left by reviewer (html encoded)
        readOnly: false
        type: string
      numberOfStars:
        description: Number of stars - 1 (poor) to 5 (excellent)
        format: int32
        readOnly: false
        type: integer
      submitDate:
        description: The date the review was submitted (mm/dd/yyyy)
        readOnly: false
        type: string
      submittedBy:
        description: Reviewer type (parent, student, teacher, principal, citizen)
        readOnly: false
        type: string
    type: object
  APITestScore:
    properties:
      meanScaledScore:
        description: Mean scale score
        format: float
        readOnly: false
        type: number
      numTier1:
        description: Count of students performing at tier 1 (Enterprise API level only)
        format: int32
        readOnly: false
        type: integer
      numTier2:
        description: Count of students performing at tier 2 (Enterprise API level only)
        format: int32
        readOnly: false
        type: integer
      numTier3:
        description: Count of students performing at tier 3 (Enterprise API level only)
        format: int32
        readOnly: false
        type: integer
      numTier4:
        description: Count of students performing at tier 4 (Enterprise API level only)
        format: int32
        readOnly: false
        type: integer
      numTier5:
        description: Count of students performing at tier 5 (Enterprise API level only)
        format: int32
        readOnly: false
        type: integer
      numberMetStandard:
        description: Count of students meeting state standard
        format: float
        readOnly: false
        type: number
      percentMetStandard:
        description: Percent of students meeting state standard
        format: float
        readOnly: false
        type: number
      percentTier1:
        description: Percent of students performing at tier 1 (Enterprise API level only)
        format: float
        readOnly: false
        type: number
      percentTier2:
        description: Percent of students performing at tier 2 (Enterprise API level only)
        format: float
        readOnly: false
        type: number
      percentTier3:
        description: Percent of students performing at tier 3 (Enterprise API level only)
        format: float
        readOnly: false
        type: number
      percentTier4:
        description: Percent of students performing at tier 4 (Enterprise API level only)
        format: float
        readOnly: false
        type: number
      percentTier5:
        description: Percent of students performing at tier 5 (Enterprise API level only)
        format: float
        readOnly: false
        type: number
      studentsEligible:
        description: Count of students eligible to take test
        format: int32
        readOnly: false
        type: integer
      studentsTested:
        description: Count of students tested
        format: int32
        readOnly: false
        type: integer
    type: object
  APITestScoreWrapper:
    properties:
      districtTestScore:
        $ref: "#/definitions/APITestScore"
        description: District level test score
        readOnly: false
      grade:
        readOnly: false
        type: string
      schoolTestScore:
        $ref: "#/definitions/APITestScore"
        description: School level test score
        readOnly: false
      stateTestScore:
        $ref: "#/definitions/APITestScore"
        description: State level text score
        readOnly: false
      subject:
        description: Test subject
        readOnly: false
        type: string
      test:
        description: The name of the state-administered test
        readOnly: false
        type: string
      tier1:
        description: Tier 1 test score description (Enterprise API level only)
        readOnly: false
        type: string
      tier2:
        description: Tier 2 test score description (Enterprise API level only)
        readOnly: false
        type: string
      tier3:
        description: Tier 3 test score description (Enterprise API level only)
        readOnly: false
        type: string
      tier4:
        description: Tier 4 test score description (Enterprise API level only)
        readOnly: false
        type: string
      tier5:
        description: Tier 5 test score description (Enterprise API level only)
        readOnly: false
        type: string
      year:
        description: Year test was administered (2018 = 2017-18)
        format: int32
        readOnly: false
        type: integer
    type: object
  APIYearlyDemographics:
    properties:
      numberOfStudents:
        description: Count of students attending the school
        format: int32
        readOnly: false
        type: integer
      numberofAfricanAmericanStudents:
        description: "NCES definition: A person having origins in any of the black racial groups of Africa.  (https://nces.ed.gov/statprog/2002/std1_5.asp)"
        format: int32
        type: integer
      numberofAsianStudents:
        description: "NCES definition: A person having origins in any of the original peoples of the Far East, Southeast Asia, or the Indian subcontinent, including, for example, Cambodia, China, India, Japan, Korea, Malaysia, Pakistan, the Philippine Islands, Thailand, and Vietnam.  (https://nces.ed.gov/statprog/2002/std1_5.asp)"
        format: int32
        type: integer
      numberofHispanicStudents:
        description: "NCES definition: A person of Cuban, Mexican, Puerto Rican, South or Central American, or other Spanish culture or origin, regardless of race. (https://nces.ed.gov/statprog/2002/std1_5.asp)"
        format: int32
        type: integer
      numberofIndianStudents:
        description: "NCES definition: A person having origins in any of the original peoples of the Far East, Southeast Asia, or the Indian subcontinent, including, for example, Cambodia, China, India, Japan, Korea, Malaysia, Pakistan, the Philippine Islands, Thailand, and Vietnam. (https://nces.ed.gov/statprog/2002/std1_5.asp)"
        format: int32
        type: integer
      numberofPacificIslanderStudents:
        description: "NCES definition: A person having origins in any of the original peoples of Hawaii, Guam, Samoa, or other Pacific Islands. (https://nces.ed.gov/statprog/2002/std1_5.asp)"
        format: int32
        type: integer
      numberofTwoOrMoreRaceStudents:
        description: "NCES definition: Includes any combination of two or more races and not Hispanic/Latino ethnicity. (https://nces.ed.gov/statprog/2002/std1_5.asp)"
        format: int32
        type: integer
      numberofUnspecifiedRaceStudents:
        format: int32
        type: integer
      numberofWhiteStudents:
        description: "NCES definition: A person having origins in any of the original peoples of Europe, the Middle East, or North Africa. (https://nces.ed.gov/statprog/2002/std1_5.asp)"
        format: int32
        type: integer
      percentFreeDiscLunch:
        description: Percent of students receiving a free or discounted lunch in the National School Lunch Program
        format: double
        readOnly: false
        type: number
      percentofAfricanAmericanStudents:
        format: double
        readOnly: false
        type: number
      percentofAsianStudents:
        format: double
        readOnly: false
        type: number
      percentofHispanicStudents:
        format: double
        readOnly: false
        type: number
      percentofIndianStudents:
        format: double
        readOnly: false
        type: number
      percentofPacificIslanderStudents:
        format: double
        readOnly: false
        type: number
      percentofTwoOrMoreRaceStudents:
        format: double
        readOnly: false
        type: number
      percentofUnspecifiedRaceStudents:
        format: double
        readOnly: false
        type: number
      percentofWhiteStudents:
        format: double
        readOnly: false
        type: number
      pupilTeacherRatio:
        description: Number of students / number of full-time equivalent teachers
        format: double
        type: number
      teachersFulltime:
        description: Number of full-time equivalent teachers employed at the school
        format: double
        type: number
      year:
        description: School year (2018 = 2017-18)
        format: int32
        readOnly: false
        type: integer
    type: object
