The complete Aeries API documentation is also available in this Knowledge Base. Click here.
This guide lists the current v5 end points. Older API versions (v1–v4) still work for existing integrations, but new integrations should use v5.
Aeries System API End Point
Data Area | URL | Quick Note |
| System | /api/v5/systeminfo | AeriesVersion, DatabaseYear, AvailableDatabaseYears, LocalTimeZoneName, CurrentDateTime. No API certificate is required for this end point. |
| Send Alert | POST /api/v5/SendAlert | POST. The alert is sent in the request body. Requires Insert permission on "Send Alerts". |
School-Related API End Points
| Data Area | URL | Quick Note |
|---|---|---|
| School Information | /api/v5/schools/{SchoolCode} | {SchoolCode} is optional |
| School Terms | /api/v5/schools/{SchoolCode}/terms | Data already in School Information End Point |
| School Calendar | /api/v5/schools/{SchoolCode}/calendar | {SchoolCode} is required. Track Holidays might be a blank data element if the School.Tracks field is 0. |
| Bell Schedule | /api/v5/schools/{SchoolCode}/BellSchedule /api/v5/schools/{SchoolCode}/BellSchedule/date/{date} | Records with a value other than 0 represent the bell schedule for a specific day/date. |
| Absence Codes | /api/v5/schools/{SchoolCode}/AbsenceCodes/{AbsenceCode} | {AbsenceCode} is optional |
| Code Sets | /api/v5/codes/{Table}/{Field} | {Table} is the Aeries table code or object name. {Field} is the Aeries field code or data element name. |
Student-Related API End Points
| Data Area | URL | Quick Note |
|---|---|---|
| Student Information | /api/v5/schools/{SchoolCode}/students/{StudentID} /api/v5/schools/{SchoolCode}/students/grade/{GradeLevel} /api/v5/schools/{SchoolCode}/students/sn/{StudentNumber} | {StudentID} is optional When a StudentID is specified, the student must be enrolled at {SchoolCode} |
| Student Information Extended | /api/v5/schools/{SchoolCode}/students/{StudentID}/extended /api/v5/schools/{SchoolCode}/students/grade/{GradeLevel}/extended /api/v5/schools/{SchoolCode}/students/sn/{StudentNumber}/extended | {StudentID} is optional |
| Student Data Changes | /api/v5/StudentDataChanges/{DataArea}/{year}/{month}/{day}/{hour}/{minute} | "student", "contact", "program", "test", "class", "enrollment" |
| Contacts | /api/v5/schools/{SchoolCode}/contacts/{StudentID} api/v5/UpdateContact/{id}/{sq} (post) api/v5/InsertContact/{id} (post) api/v5/DeleteContact/{id}/{sq} (get) – a GET request to this URL deletes the contact api/v5/DeleteContact/{id}/{sq} (delete) | {StudentID} is optional {SchoolCode} is ignored when {StudentID} is provided. Any value can be used such as {000} |
| Programs | /api/v5/schools/{SchoolCode}/students/{StudentID}/programs | {StudentID} = 0 for all students Query String Parameter to limit to program code Ex: ?code=144 |
| Test Scores | /api/v5/students/{StudentID}/tests api/v5/testing/availabletests | {StudentID} is REQUIRED |
| Update Test Scores | /api/v5/testing/UpdateScores | POST |
| College Test Scores | /api/v5/schools/{SchoolCode}/CollegeTestScores/{StudentID} | {StudentID} is optional SchoolCode is ignored when a StudentID is specified |
| Assertive Discipline | /api/v5/schools/{SchoolCode}/AssertiveDiscipline/{StudentID} | {StudentID} is optional |
| District Supplemental Student Data | /api/v5/schools/{SchoolCode}/DistrictSupplemental/{StudentID} | {StudentID} is optional SchoolCode is ignored when a StudentID is specified |
| School Supplemental Student Data | /api/v5/schools/{SchoolCode}/SchoolSupplemental/{StudentID} api/v5/UpdateSchoolSupplemental/{sc}/{sn} (post) | {StudentID} is optional When a StudentID is specified, the student must be enrolled at {SchoolCode} |
| Fees and Fines | /api/v5/schools/{SchoolCode}/fees/{StudentID} | {StudentID} is optional SchoolCode is ignored when a StudentID is specified |
| Student Picture | /api/v5/schools/{SchoolCode}/StudentPictures/{StudentID} | {StudentID} is optional SchoolCode is ignored when a StudentID is specified |
| Student Groups | /api/v5/schools/{SchoolCode}/StudentGroups | For all schools, pass {SchoolCode} = "all". Otherwise, pass numeric school code. |
| Student Information – Create/Update | POST /api/v5/schools/{SchoolCode}/InsertStudent POST /api/v5/UpdateStudent/{StudentID} POST /api/v5/schools/{SchoolCode}/UpdateStudent/{StudentID} POST /api/v5/UpdateStudentAddress/{StudentID} | POST. UpdateStudent updates all of the student’s school records; the school-scoped version updates only the record at {SchoolCode}. |
| Activities and Awards | /api/v5/schools/{SchoolCode}/activities /api/v5/schools/{SchoolCode}/activities/code/{ActivityCode} /api/v5/schools/{SchoolCode}/students/{StudentID}/activities/{SequenceNumber} /api/v5/schools/{SchoolCode}/students/{StudentID}/activities/code/{ActivityCode} POST /api/v5/schools/{SchoolCode}/students/{StudentID}/activities PUT / DELETE /api/v5/schools/{SchoolCode}/students/{StudentID}/activities/{SequenceNumber} | {SequenceNumber} is optional on GET |
| Authorizations | /api/v5/schools/{SchoolCode}/authorizations /api/v5/schools/{SchoolCode}/students/{StudentID}/authorizations/{SequenceNumber} POST /api/v5/schools/{SchoolCode}/students/{StudentID}/authorizations PUT / DELETE /api/v5/schools/{SchoolCode}/students/{StudentID}/authorizations/{SequenceNumber} | {SequenceNumber} is optional on GET. TypeCode and MiscCode are required on POST. |
| Discipline | /api/v5/schools/{SchoolCode}/discipline/{StudentID} | {StudentID} is optional |
| Immunizations | /api/v5/schools/{SchoolCode}/students/{StudentID}/immunizations | Read only |
| Medical Insurance Information | /api/v5/schools/{SchoolCode}/medical-insurance-info | Read only. Add ?id={StudentID} to limit to one student. |
| Free and Reduced Price Meals | /api/v5/students/{StudentID}/free-and-reduced /api/v5/students/{StudentID}/free-reduced-records | Read only. free-and-reduced returns active records by default; add ?activeOnly=false for the full history. |
| Pre-Enroll Student | /api/v5/commands/preenrollstudent/{StudentID} /api/v5/commands/preenrollstudent/{StudentID}/{NextSchool} /api/v5/PreEnrollInactiveStudent/{StudentID}/{NextSchoolCode} | These are GET requests that change data. |
Attendance & Enrollment API End Points
| Data Area | URL | Quick Note |
|---|---|---|
| Enrollment History | /api/v5/enrollment/{StudentID} /api/v5/enrollment/{StudentID}/year/{AcademicYear} /api/v5/schools/{SchoolCode}/enrollment/{StudentID} /api/v5/schools/{SchoolCode}/enrollment/{StudentID}/year/{AcademicYear} | {StudentID} can be 0 for all students {AcademicYear} format: yyyy |
| Student Attendance | /api/v5/schools/{SchoolCode}/attendance/{StudentID} | {StudentID} is optional Query String Parameters: StartDate=YYYYMMDD &EndDate=YYYYMMDD |
| Attendance History Summary | /api/v5/schools/{SchoolCode}/AttendanceHistory/summary/{StudentID} /api/v5/schools/{SchoolCode}/AttendanceHistory/summary/year/{year} | {SchoolCode} limits to the students in that school {StudentID} is optional {year} format: yyyy-yyyy |
| Attendance History Details | /api/v5/schools/{SchoolCode}/AttendanceHistory/details/{StudentID} /api/v5/schools/{SchoolCode}/AttendanceHistory/details/year/{year} | |
| Attendance History Attendance Codes | /api/v5/schools/{SchoolCode}/AttendanceHistory/AbsenceCodes /api/v5/schools/{SchoolCode}/AttendanceHistory/AbsenceCodes/year/{year} |
Student Grades API End Points
| Data Area | URL | Quick Note |
|---|---|---|
| Student GPA | /api/v5/schools/{SchoolCode}/gpas/{StudentID} | {StudentID} is optional |
| Student Grades | /api/v5/schools/{SchoolCode}/grades | POST. Requires Update permission on "Grades". |
| Student Report Cards | /api/v5/schools/{SchoolCode}/ReportCard/{StudentID} | {StudentID} is optional |
| School Report Card Marking Periods | /api/v5/schools/{SchoolCode}/ReportCardMarkingPeriods | |
| School Graduation Requirements | /api/v5/schools/{SchoolCode}/GraduationRequirements | |
| Student Graduation Status Summary | /api/v5/schools/{SchoolCode}/GraduationStatusSummary/{StudentID} /api/v5/schools/{SchoolCode}/GraduationStatusSummary/grade/{GradeLevel} | {StudentID} is optional |
| Student Transcripts | /api/v5/schools/{SchoolCode}/Transcript/{StudentID} | {StudentID} is optional |
| Valid Marks | /api/v5/schools/{SchoolCode}/validmarks | Read Only |
| Standards-Based Valid Marks | /api/v5/schools/{SchoolCode}/standardsbasedvalidmarks | Read only |
| Standards-Based Grades | /api/v5/schools/{SchoolCode}/standardsbasedgrades | POST |
Scheduling API End Points
| Data Area | URL | Quick Note |
|---|---|---|
| Student Class Schedule | /api/v5/schools/{SchoolCode}/classes/{StudentID} | {StudentID} is optional |
| Course Information | /api/v5/courses/{CourseID} | {CourseID} is optional |
| Course Data Changes | /api/v5/CourseDataChanges/{year}/{month}/{day}/{hour}/{minute} | |
| Staff Data | /api/v5/staff/{StaffID} api/v5/staff/hrid/{hrid} POST /api/v5/staff PUT /api/v5/staff/{StaffID} | {StaffID} is optional except for assignements. {hrid} is optional. QueryString conditions can be included to filter results on any staff object field. |
| Staff Classes/Sections | /api/v5/staff/{StaffID}/classes | {StaffID} is required |
| Staff Data Changes | /api/v5/StaffDataChanges/{year}/{month}/{day}/{hour}/{minute} | |
| Teacher Information | /api/v5/schools/{SchoolCode}/teachers/{TeacherNumber} | {TeacherNumber} is optional |
| Staff-Teacher Information | /api/v5/staff/{StaffID}/teachers | This end point will return a list of teacher records associated with the given Staff ID. |
| Section Information | /api/v5/schools/{SchoolCode}/sections/{SectionNumber} | {SectionNumber} is optional |
| Section Data Changes | /api/v5/SectionDataChanges/{year}/{month}/{day}/{hour}/{minute} | |
| Section Class Roster | /api/v5/schools/{SchoolCode}/sections/{SectionNumber}/students | {SectionNumber} is REQUIRED |
| Section Class Roster Data Changes | /api/v5/SectionRosterDataChanges/{year}/{month}/{day}/{hour}/{minute} | |
| Class Calendars | /api/v5/schools/{SchoolCode}/classcalendars/{SequenceNumber} /api/v5/schools/{SchoolCode}/classcalendars/year/{AcademicYear} /api/v5/schools/{SchoolCode}/classcalendars/{SequenceNumber}/dates | {SequenceNumber} is optional on the first URL. {AcademicYear} format: yyyy-yyyy |
| Flex Periods | /api/v5/schools/{SchoolCode}/flexperiods/{SequenceNumber} /api/v5/schools/{SchoolCode}/flexperiods/year/{AcademicYear} | {SequenceNumber} is optional. {AcademicYear} format: yyyy-yyyy |
| Scheduling Master Schedule Sections | /api/v5/schools/{SchoolCode}/scheduling/sections/{SectionNumber} POST /api/v5/schools/{SchoolCode}/scheduling/sections PUT / DELETE /api/v5/schools/{SchoolCode}/scheduling/sections/{SectionNumber} | {SectionNumber} is optional on GET. POST and PUT work only at Section Staff schools. |
| Student Course Requests | /api/v5/schools/{SchoolCode}/scheduling/courserequests /api/v5/schools/{SchoolCode}/students/{StudentID}/courserequests/{SequenceNumber} /api/v5/schools/{SchoolCode}/students/sn/{StudentNumber}/courserequests/{SequenceNumber} POST /api/v5/schools/{SchoolCode}/students/{StudentID}/courserequests PUT / DELETE /api/v5/schools/{SchoolCode}/students/{StudentID}/courserequests/{SequenceNumber} | {SequenceNumber} is optional on GET |
| Alternate Course Requests | /api/v5/schools/{SchoolCode}/scheduling/alternatecourserequests /api/v5/schools/{SchoolCode}/students/{StudentID}/alternatecourserequests/{SequenceNumber} /api/v5/schools/{SchoolCode}/students/sn/{StudentNumber}/alternatecourserequests/{SequenceNumber} POST /api/v5/schools/{SchoolCode}/students/{StudentID}/alternatecourserequests PUT / DELETE /api/v5/schools/{SchoolCode}/students/{StudentID}/alternatecourserequests/{SequenceNumber} | {SequenceNumber} is optional on GET |
| Staff Assignments | /api/v5/staff/{StaffID}/assignments/{Type}/{SequenceNumber} /api/v5/staff/{StaffID}/assignments/date/{year}/{month}/{day}/{Type} POST /api/v5/staff/{StaffID}/assignments PUT / DELETE /api/v5/staff/{StaffID}/assignments/{Type}/{SequenceNumber} DELETE /api/v5/staff/{StaffID}/assignments/startdate/{year}/{month}/{day}/{Type} | {Type} is "certificated" or "classified" (lowercase) and is optional on GET |
Gradebook API End Points
| Data Area | URL | Quick Note |
|---|---|---|
| Gradebook Data | /api/v5/staff/{StaffID}/gradebooks /api/v5/schools/{SchoolCode}/sections/{SectionNumber}/gradebooks /api/v5/gradebooks/{GradebookNumber} | |
| Assignments | /api/v5/gradebooks/{GradebookNumber}/assignments /api/v5/gradebooks/{GradebookNumber}/assignments/{AssignmentNumber} /api/v5/gradebooks/Assignments/{UniqueID} | |
| Updating Assignment Information | /api/v5/gradebooks/{GradebookNumber}/assignments/{AssignmentNumber} /api/v5/gradebooks/Assignments/{UniqueID} | PUT |
| Inserting a New Assignment | /api/v5/gradebooks/{GradebookNumber}/assignments | POST |
| Final Mark Ranges | /api/v5/gradebooks/{GradebookNumber}/FinalMarks | |
| Gradebook Students | /api/v5/gradebooks/{GradebookNumber}/{GradebookTerm}/students /api/v5/gradebooks/{GradebookNumber}/{GradebookTerm}/students/{StudentID} | |
| Assignment Scores | /api/v5/gradebooks/{GradebookNumber}/assignments/{AssignmentNumber}/scores /api/v5/gradebooks/{GradebookNumber}/assignments/{AssignmentNumber}/scores/{StudentID} /api/v5/gradebooks/assignments/{UniqueID}/scores /api/v5/gradebooks/assignments/{UniqueID}/scores/{StudentID} | |
| Updating Assignment Scores | /api/v5/gradebooks/{GradebookNumber}/assignments/{AssignmentNumber}/scores /api/v5/gradebooks/assignments/{UniqueID}/scores | POST |
Migrating from v3 Gradebook end points: The v3 Gradebook end points still work, but v5 supports Flex Scheduling and Section Staff schools and returns more complete data. When switching from v3 to v5:
- Important: In score updates, send the student as StudentID (v3 used PermanentID). A v5 request that still sends PermanentID skips those students and returns success without updating any scores.
- URLs and methods changed: Insert Assignment is POST …/assignments (was …/InsertAssignment); Update Scores is POST …/scores (was …/UpdateScores); Updating Assignment Information uses PUT (was POST).
- Response fields renamed: PermanentID → StudentID, StudentSex → StudentGender. The gradebook Period is now text instead of a number.
- Insert Assignment returns HTTP 201 instead of 200. Errors and “not found” results return HTTP 400 or 404 with a message, instead of HTTP 500 or an empty 200 response.
Pagination Support
The following sets of end points support paginating the result set:
- Student Information
- Student Extended
- Student GPA
- Student Pictures
- Graduation Status Summary
- Student Transcripts
To request a specific set of records, include a set of Query String Parameters in the URL for "StartingRecord" and "EndingRecord".
Previous School Years
If a district configures their environment properly, you can access prior year databases through the API by including a query string parameter of "DatabaseYear" in the format of "?DatabaseYear=CCYY" with the "year" at the start of the school year (e.g., "2017" for the "2017-2018" school year). If the database exists on the server you are hitting, it will return data from that year. If the year does not match an available database, the request fails with HTTP 500 (“No Database Connection”); it does not fall back to the current school year. If DatabaseYear is omitted, the current (default) school year is used.