News and Updates

How to Stay Up-to-Date

If you want to stay up-to-date on the latest news from Clever, we recommend subscribing to our product newsletter. Clever sends out one newsletter per month to share API changes, upcoming product releases, and opportunities to provide roadmap feedback. To subscribe, please e-mail [email protected].

API & Documentation Updates

If you have feedback, feature requests, or questions, please reach out to [email protected].

Upcoming Changes

No planned updates yet! Full steam ahead.

Recent & Historical Changes

  • February 7, 2018: Updated Custom Sandbox Districts to align with the new flow for adding sandbox districts
  • January 26, 2018: We now support up to 10 co-teachers in v2.0 and above!
  • November 6, 2017: API v2.0 officially released!
  • June 23, 2018: Clever Library documentation is now live!

API v2.0 Changelog


Upgrading from a previous version? Check out our guide to upgrading to API v2.0.

Identity API


  • /me for the SecureSync and SecureSync Lite access tiers now returns just id, district, type

Data API


  • GET /oauth/tokens now supports district param to get token for one district

  • Courses and Terms as top level objects

    • Courses
      • /courses
      • /courses/{id}
      • /courses/{id}/district
      • /courses/{id}/sections
    • Terms
      • /terms
      • /terms/{id}
      • /terms/{id}/district
      • /terms/{id}/sections
  • Contacts as new object, replacing Student Contact object

  • /contacts

  • /contacts/{id}

  • /contacts/{id}/students - Contacts can be associated with multiple students

  • New endpoints:

    • /sections/{id}/term
    • /sections/{id}/course
    • /teachers/{id}/schools
    • /students/{id}/schools
    • /district_admins/{id}/district
    • /school_admins/{id}/district
  • New fields on section object

  • course - ID for course object, if present

  • term - ID for term object, if present

  • limit, starting_after, ending_before params can be used on all plural endpoints

  • Paging links for /district_admins


  • /students/{id}/teachers now returns co-teachers as well as primary teachers
  • Consistent checks for invalid param usage
  • /district_admins response format now matches other plural endpoints without the use of show_links param
  • /students/{id}/contacts response format now matches other plural endpoints
  • /districts/{id} now also returns, if present:
    • nces_id
    • state (previously found at /districts/{id}/status)
    • last_sync (previously found at /districts/{id}/status)
    • launch_date (previously found at /districts/{id}/status)
    • error (previously found at /districts/{id}/status)
    • sis_type (previously found at /districts/{id}/status)
    • pause_start (previously found at /districts/{id}/status)
    • pause_end (previously found at /districts/{id}/status)
  • Sections objects
    • Moved to Term object:
      • term.start_date
      • term.end_date
    • Moved to Course object
      • course_name
      • course_number
    • Added:
      • course (id for Course object), if present
      • term_id (id for Term object), if present
    • Improved:
      • In previous versions of the API, we supported up to 4 co-teachers per section (1 primary teacher and 3 non-primary teachers). Due to district demand, Clever now supports more than 4 co-teachers per section. As a best practice, we recommend not limiting the number of co-teachers you accept for sections in your integration.
  • Contact phone_type, type and relationship are now normalized, if present
    • phone_type: [Home, Work, Cell, Other]
    • type: [Parent/Guardian, Emergency, Primary, Secondary, Family, Other]
    • relationship: [Parent, Grandparent, Sibling, Aunt/Uncle, Self, Other]


  • Allowlisted params/endpoints in v1.x
  • include param
  • where param
  • show_links param
  • Old-style paging data from responses
  • Removed endpoints:
    • /teachers/{id}/grade_levels
    • /contacts/{id}/student - replaced by /contacts/{id}/students
    • Removed second level districts endpoints:
      • /districts/{id}/admins
      • /districts/{id}/schools
      • /districts/{id}/teachers
      • /districts/{id}/students
      • /districts/{id}/sections
      • /districts/{id}/status
  • course_description field on Sections
  • instant_login field from District Status endpoint was not moved to District endpoint
  • field on Teachers and Students


  • Date/Time consistency:
    • Student DOB continues to be MM/DD/YYYY format
    • Other dates: YYYY-MM-DD
      • Term start_date and end_date
      • District launch_date, pause_start, pause_end
    • District last_sync: YYYY-MM-DDTHH:MM:SS.SSSZ

Events API


  • Created/Updated/Deleted Events for Courses, Terms, and District Admins
  • Updated events for Contacts now that they are more stable
  • school param - to retrieve events associated with a particular school including schools.*, schooladmins.*, teachers.*, students.*, sections.*. School may not be the primary school for these records.
  • record_type param - an array of record types to get events for, e.g. record_type=students&record_type=teachers


  • Allowlisted params/endpoints in v1.x
  • where param
  • Second level events endpoints:
    • /districts/{id}/events
    • /schools/{id}/events
    • /teachers/{id}/events
    • /students/{id}/events
    • /sections/{id}/events
    • /school_admins/{id}/events