Data in Clever can experience a number of edge cases listed below. Although these are not typical cases, it's a good idea to be prepared for these to occur. If your integration cannot handle any of these cases, please reach out to [[email protected]](🔗) to create [Data Warnings](🔗) to avoid any errors in your sync

## General

  • The district is the top-level object in Clever; even if a single school has signed up for an account, there will still technically be a district object for their account.

  • Clever's strings have no maximum length (if you must specify a field length, we recommend 255 chars as a safe limit)

  • Clever's strings support all UTF-8 characters

  • There isn't a normalization of email format (emails may be missing the '@' sign)

## Terms

  • Most districts do not send actual terms to Clever, so most are constructed from information on the section object. As such, districts must sync at least one of `term name` `term start date` or `term end date` in order for a term to be created

  • If all of the sections associated with a term are deleted or the term information changes, the term will be deleted (and potentially recreated).

  • As of 1/31/18, term IDs are not stable, so if a term is deleted and recreated, it will have a new Clever ID.

## Courses

  • Most districts do not send actual courses to Clever, so most are constructed from information on the section object. As such, districts must sync at least `course name` in order for a course to be created

  • If all of the sections associated with a course are deleted or the course information changes, the term will be deleted (and a new one may be created).

  • As of 1/31/18, course IDs are not stable, so if a term is deleted and recreated, it will have a new Clever ID.

## Sections

  • Sections are the only way student and teacher associations are described in Clever. If a student or teacher is not enrolled in any sections, they will not be associated with any students/teachers.

  • Sections must have at least one student

  • Sections are associated with a school, but the associated students and teachers in the section can be enrolled in any school in the district.

  • Sections can have only one primary teacher, and up to 9 additional co-teachers.

  • There is no limit of how many students may be enrolled in a section

  • Section names are not guaranteed to be unique

  • Section grade might not match all students grades

## Students

  • Students can be enrolled in multiple sections

  • Students might not be enrolled in any sections

  • Students can be enrolled in sections in multiple schools

  • Students can be enrolled in sections that contain other students and teachers that are not associated with their primary school

## Teachers

  • Teachers can teach multiple sections

  • Teachers might not teach any sections

  • Teachers can teach sections in multiple schools

  • Teachers can teach classes that contain other students and teachers that are not associated with their primary school

## School Administrators

  • School administrators can be in multiple schools

  • School administrators do not have a primary school association (there is only a `schools` field, not a `school` field at the `/school_admins` endpoint

## District Administrators

## Student Contacts

  • Not a guaranteed field from Clever

  • Contact type is not consistent (type varies from SIS to SIS)

  • Information might be limited to one contact per student