Aeries API Integration (CatapultEMS/CatapultCONNECT)
If you use an HR or Student Information System other than Aeries, see Tips for SIS export (CatapultEMS) or the equivalent for CatapultCONNECT.
Contents
Account Setup
Certification Instructions
How to Generate an API Certificate for a Vendor.
(On step 4, leave Type blank as shown below. Do not choose OneRoster.)
Permissions Needed
In Aeries, choose Security > API Security to review or add permissions.
- “Student Data” section (Read permission):
- Student Data
- Contacts
- Class Schedules/History
- Attendance subsection (only needed if you send attendance alerts through CatapultCONNECT)
- Attendance
- Attendance History
- “Scheduling” section (Read permission):
- Teacher Data
- Staff Data
- Staff Job Assignments
- Staff Assignments (Classified)
- Master Schedule
- Course Data
- Flex Periods
Share with Catapult Staff
For security, share these details in the document that Catapult shares with you rather than sending via email.
- Aeries certificate: A random series of letters and numbers generated by Aeries.
- Aeries base URL: For example, https://yourdistrict.aeries.net/admin
- School list: Do any schools in Aeries share the same physical location and need to be merged into one for CatapultEMS?
Staff
- ID
- For Teachers: Pulled from StaffID1 (TCH.ID), and / or StaffID2 (TCH.ID2), and / or StaffID3 (TCH.ID3).
- For Non-Teacher Staff: Pulled from ID (STF.ID)
- School
- For staff (at flex schedule sites, this includes teachers)
- Pulled from PrimaryAeriesSchool (STF.PSC)
- Also pulled from current Staff Job Assignments/Staff Assignments (Classified) (STJ.SCL, STA.SCL). We ignore any SchoolCode = 0. (Per Aeries convention, blank/0 in this specific context means use PrimaryAeriesSchool (STF.PSC)).
- At non-flex schedule sites, teacher's school is pulled from the Teacher School Code (TCH.SC)
- For staff (at flex schedule sites, this includes teachers)
- First Name
- For Teachers:
- If valid Staff record (TCH.ID, TCH.ID2, TCH.ID3), then pulled from FirstName (STF.FN)
- Else pulled from FirstName (TCH.TF)
- For Non-Teacher Staff:
- Pulled from FirstName (STF.FN)
- For Teachers:
- Last Name
- For Teachers:
- If valid Staff record (TCH.ID, TCH.ID2, TCH.ID3), then pulled from LastName (STF.LN)
- Else pulled from LastName (TCH.TLN)
- For Non-Teacher Staff:
- Pulled from LastName (STF.LN)
- For Teachers:
- Email
- For Teachers:
- If valid Staff record (TCH.ID, TCH.ID2, TCH.ID3), then pulled from EmailAddress (UGN.EM)
- Else pulled from EmailAddress (TCH.EM)
- For Non-Teacher Staff:
- Pulled from EmailAddress (UGN.EM)
- According to API doc, if EmailAddress (UGN.EM) is blank, then pulled from EmailAddress (STF.EM)
- Note: Aeries has several different places it saves email addresses for teachers and staff. Three places to check: Security > Users, School Info > Staff, and School Info > Teachers.
- By request, we can pull from the Alternate Email Address (STF.AEM) instead of the primary email address for your district. In this case if STF.AEM is not set we fall back to STF.EM.
- For Teachers:
- Mobile Number
- For Teachers:
- If valid Staff record (TCH.ID, TCH.ID2, TCH.ID3), then pulled from CellPhone (STF.CP)
- For Non-Teacher Staff:
- Pulled from CellPhone (STF.CP)
- For Teachers:
- Title
- For Teachers: “Teacher”
- For Non-Teacher Staff:
- Pulled from Title (STF.TI)
- Note: On first import, anyone with the word "Teacher" or "Instructor" in their title gets "Staff" access. All others get "Other Staff" access. "Staff" and "Other Staff" are an organizational distinction, but have the same access in the software.
- Status
- For Teachers:
- Check InactiveStatusCode (TCH.TG)
- If teacher has associated staff record, then it checks the InactiveStatusCode (STF.TG)
- Checks LeaveDate (TCH.LD or STF.LD). Considered inactive if LeaveDate is in the past.
- For Non-Teacher Staff:
- Checks the InactiveStatusCode (STF.TG)
- Checks LeaveDate (TCH.LD or STF.LD). Considered inactive if LeaveDate is in the past.
- For Teachers:
Students
- ID
- Pulled from PermanentID (STU.ID)
- School
- Pulled from SchoolCode (STU.SC)
- By request, we can pull the school association from a specialized attendance program instead of the SchoolCode. Enter the additional school in AttendanceProgramCodeAdditional2 (STU.AP2) and share the list of school codes where this is relevant.
- Pulled from SchoolCode (STU.SC)
- First Name
- Pulled from FirstName (STU.FN)
- Last Name
- Pulled from LastName (STU.LN)
- Email
- Off by default. If on, pulled from StudentEmailAddress (STU.SEM)
- Mobile Number
- Off by default. If on, pulled from StudentMobilePhone (STU.MPH)
- Bus Route
- Can be pulled from UserCode1 (UC1) by request.
- Status
- Check InactiveStatusCode (STU.TG). If blank, then student considered active.
- Optionally we can consider certain InactiveStatusCodes as active for your district.
Student-teacher Association
Note: For Catapult to pull rosters, the teacher must be assigned to the school they have classes in.
- Classes
- If there are "classes" (as in High School and Middle School), then the student-teacher association is pulled from the Course Attendance Record (CAR.TN + STU.ID).
- If there are classes, then the association pulls based on the following criteria:
- The class is currently happening (current date is after start date (CAR.DS) and before end date (CAR.DE))
- The class has an associated Course (CAR.CN)
- The associated course is valid (CRS.TG is blank)
- If processing Sections,
- There is a valid associated Section (CAR.SE)
- There is an associated Term (MST.SM)
- The term is currently happening (current date is after Start Date (TRM.D1), and before End Date (TRM.D2))
- If using Flex Schedule,
- The class is currently happening (current date is after start date (CAR.DS) and before end date (CAR.DE))
- The class has an associated Course (CAR.CN)
- The associated course is valid (CRS.TG is blank)
- The section is valid (CAR.SE)
- The section is active (MST.STG),
- The section staff are active (SSE.TG)
- The section staff are valid (SSE.ID/STF.ID)
- If there are classes, then the association pulls based on the following criteria:
- If there are "classes" (as in High School and Middle School), then the student-teacher association is pulled from the Course Attendance Record (CAR.TN + STU.ID).
- No Classes
- If there are no "classes" (as in Elementary School), then the student-teacher association is pulled from CounselorNumber (STU.CU).
- Period
- For flex scheduling
- Pulled from Flex Period Description (FTF.DE).
- If blank, fall back to Flex Period Short Title (FTF.STI).
- If blank or no Flex Period, fall back to Master Schedule Period (MST.PD).
- If none of the above are specified, use default of "1" (this default can be changed per district).
- Pulled from Flex Period Description (FTF.DE).
- For non flex scheduling
- Pulled from Period (CAR.PD).
- Optionally, we can add Scheduling Group (STU.SG) to the end of the period name.
- Optionally, we can add ClassCalendar (MST.DY) to the end of the period name. ClassCalendar is the days of the week the class meets.
- For flex scheduling
Contact/Guardians
CatapultEMS and CONNECT usually pull two contacts per student. By request, Catapult can import additional contacts.
Catapult pulls contacts based on one of the following criteria as determined by your district. This is a district-wide setting. Primary Contact or Notification Preference are the most likely to line up with needs of CatapultEMS and CatapultCONNECT, if your district consistently collects that data.
- Relationship (e.g. CON.RL=10, 11, or 21, see “1” in the screenshot below), or
- Primary Contact (CON.PC=Y, see "2" in the screenshot below), or
- Record Type (CON.CD=P or another value, see “3” in the screenshot below), or
- Notification Preference marked as “General and Emergency Notifications” (CON.NP=1 only, see "4" in the screenshot below), or
- Contact order (CON.OR = 0 and 1, or any other list of numbers, see "5" in the screenshot below). This corresponds with the order the contacts appear in Aeries under Student Data > Contacts. Note: this is distinct from Record Type = Parent/Guardian 1, 2).
- Use the first two contacts that the API gives us (can be random). Not recommended.
Screenshot of contact criteria as shown in Aeries > Student Data > Contacts > Edit Contact (pencil icon).
- Name
- Pulled from MailingName (CON.NM)
- If it is not set, then it pulls from FirstName (CON.FN) and LastName (CON.LN)
- If the FirstName or LastName are blank then it pulls from the ParentGuardianName (STU.PG)
- Pulled from MailingName (CON.NM)
- Language
- Contact's CorrespondenceLanguageCode (CON.CL). Note: this is the correspondence language of the contact not the student.
- If it is not set, then it pulls from the HomeLanguageCode of the student (STU.HL)
- By request, CatapultCONNECT can pull STU.CL instead of STU.HL. This is a district-wide setting.
- Contact's CorrespondenceLanguageCode (CON.CL). Note: this is the correspondence language of the contact not the student.
- Email
- Pulled from EmailAddress (CON.EM)
- If it is not set, then it pulls from ParentEmailAddress (STU.PEM)
- Pulled from EmailAddress (CON.EM)
- Mobile Number
- Contact's Phone comes from CellPhone (CON.CP)
- If it is not set, then it pulls from HomePhone (CON.TL)
- Contact's Phone comes from CellPhone (CON.CP)
- Alert Types Received
- Contact’s NotificationPreferenceCode (CON.NP). Catapult skips any contacts labeled, "Do No Contact."