Introduction

This article describes enhancements to the Aeries API that were developed for Schoolmint and a specific school district to push new students into Aeries along with their emergency contacts, as well as manage pre-enrolled student records.


Currently, the new API Security Areas described in this document only appear for the district that requested the enhancements.  In the future, these enhancements may be available to any district and any vendor with appropriate permissions, though great caution must be exercised when adding, updating, or deleting information using the Aeries API.  Aeries Software is not responsible for the consequences of any unauthorized or inappropriate use of the end points described herein.


Main API Documentation

Please refer to the Aeries API Full Documentation for more information about the Aeries API.  Version 4 (V4) of the Aeries API has not yet been fully released. Once a complete set of V4 endpoints is ready for publication, the main API documentation will be updated. In the meantime, separate documentation is being provided to appropriate vendors as V4 endpoints are added and updated.


Student Information - Create


Security Area:

  • "Student Data" – Read & Insert
  • “Student Demographics” – Field-level Insert permission is required for each field; otherwise, the value will be ignored.

URL:

  • POST /api/v4/schools/{SchoolCode}/InsertStudent
    • SchoolCode (required) – the Aeries School Code. This is normally 1 – 999.

Notes:

  • This end point returns a single “Student” object representing the student record that was just added. For the specification of the “Student” object, see the Student Information section of the main Aeries API documentation.
  • This end point should only be used to create a record for a student who has never been enrolled in the district. It cannot not be used to add or transfer an existing student to a different school.
  • Any field that is omitted will be assigned the Aeries default value for that field.

POST Payload Object:

  • “StudentInsert” object


StudentInsert” Object Definition:

Name

Data Type

Max Length

Notes

LastName

String

100

Student’s legal last name

FirstName

String

100

Student’s legal first name

MiddleName

String

100

Student’s legal middle name

NameSuffix

String

10

Student’s legal name suffix (e.g., “JR” or “IV”)

Gender

String

1

Student's gender identification.  May be M or F or another coded value for non-binary gender identifications. 

Grade

Integer


Student’s grade level. Valid range is (-2) – 18.

NextGrade

Integer


Student’s grade level for next school year. Valid range is (-2) – 18.

NextSchool

Integer


The Aeries school code of the next school the student will attend

Birthdate

Date


Student’s date of birth

InactiveStatusCode

String

1

Student’s status (blank is active)

HomeLanguageCode

String

2

The student’s primary language for purposes of English Learner classification

CorrespondanceLanguageCode

String

2

The preferred language for correspondence sent regarding this student

LanguageFluencyCode

String

1

Language fluency code

HomePhone

String


Student’s home phone number. Formatting may be included, and the input will be parsed for the first 10 digits (0-9) encountered.

LastSchool

Integer


The Aeries school code of the last school the student attended

ResidenceSchool

Integer


The Aeries school code of the student’s assigned school of residence, usually based on address boundaries

NextResidenceSchool

Integer


The Aeries school code of the student’s assigned school of residence for next year

EthnicityCode

String

1

“Y” or “N” Hispanic indicator

Race1Code

String

3

Student’s first reported race

Race2Code

String

3

Student’s second reported race

Race3Code

String

3

Student’s third reported race

Race4Code

String

3

Student’s fourth reported race

Race5Code

String

3

Student’s fifth reported race

SchoolEnterDate

Date


Date student entered this school

DistrictEnterDate

Date


Date student entered the district

BirthCity

String

30

The city name where the student was born

BirthStateCode

String

3

The state or province in the US, Canada, or Mexico where the student was born

BirthCountryCode

String

2

The country code where the student was born

ParentEdLevelCode

String

2

Highest level of education completed by either of the student’s parents (for socioeconomically disadvantaged classification purposes)

ParentGuardianName

String

50

Parent/Guardian name

MailingAddress

String

55

Student’s mailing address

MailingAddressCity

String

30

Student’s mailing address city

MailingAddressState

String

2

Student’s mailing address state

MailingAddressZipCode

String

5

Student’s mailing address zip code

MailingAddressZipExt

String

4

Student’s mailing address zip code extension

ResidenceAddress

String

55

Residence address

ResidenceAddressCity

String

30

Residence address city

ResidenceAddressState

String

2

Residence address state

ResidenceAddressZipCode

String

5

Residence address zip code

ResidenceAddressZipExt

String

4

Residence address zip code extension

HomeLanguageSurveyFirstLanguageCode

String

2

From the Home Language Survey (HLS) – The language first spoken by the student growing up

HomeLanguageSurveyPrimaryLanguageCode

String

2

From the Home Language Survey (HLS) – The language primarily spoken by the student

HomeLanguageSurveyHomeLanguageCode

String

2

From the Home Language Survey (HLS) – The language spoken most frequently at home by the student

HomeLanguageSurveyAdultLanguageCode

String

2

From the Home Language Survey (HLS) – The language spoken most frequently by adults at home

USEnterDate

Date


The Date the Student first entered the US

USSchoolEnterDate

Date


The Date the Student first entered a US school to receive instruction

UserCode1

String

1

User-Defined Code

UserCode2

String

1

User-Defined Code

UserCode3

String

1

User-Defined Code

UserCode4

String

1

User-Defined Code

UserCode5

String

1

User-Defined Code

UserCode6

String

1

User-Defined Code

UserCode7

String

1

User-Defined Code

UserCode8

String

1

User-Defined Code

UserCode9

String

2

User-Defined Code

UserCode10

String

2

User-Defined Code

UserCode11

String

2

User-Defined Code

UserCode12

String

2

User-Defined Code

UserCode13

String

2

User-Defined Code


Note: For descriptions of the various coded values, use our Code Sets API


Example POST Payload:

{
  "LastName":"AA Test LN",
  "FirstName":"AA Test FN",
  "MiddleName":"AA Test MN",
  "NameSuffix":"JR",
  "Gender":"M",
  "Grade":11,
  "NextGrade":12,
  "NextSchool":994,
  "BirthDate":"2000-11-24",
  "InactiveStatusCode":"*",
  "HomePhone":"(888) 777-5555",
  "HomeLanguageCode":"01",
  "CorrespondanceLanguageCode":"02",
  "LanguageFluencyCode":"T",
  "EthnicityCode":"Y",
  "Race1Code":"700",
  "Race2Code":"400",
  "Race3Code":"",
  "Race4Code":"",
  "Race5Code":"",
  "LastSchool":993,
  "ResidenceSchool":994,
  "NextResidenceSchool":994,
  "SchoolEnterDate":"2017-05-01",
  "DistrictEnterDate":"2017-05-01",
  "BirthCity":"Santa Maria",
  "BirthStateCode":"CA",
  "BirthCountryCode":"US",
  "ParentEdLevelCode":"11",
  "ParentGuardianName":"Mrs Momma",
  "MailingAddress":"123 Main ST",
  "MailingAddressCity":"Anaheim",
  "MailingAddressState":"CA",
  "MailingAddressZipCode":"99999",
  "MailingAddressZipExt":"1234",
  "ResidenceAddress":"789 Broadway",
  "ResidenceAddressCity":"Fullerton",
  "ResidenceAddressState":"CA",
  "ResidenceAddressZipCode":"88888",
  "ResidenceAddressZipExt":"4321",
  "HomeLanguageSurveyFirstLanguageCode":"03",
  "HomeLanguageSurveyPrimaryLanguageCode":"04",
  "HomeLanguageSurveyHomeLanguageCode":"05",
  "HomeLanguageSurveyAdultLanguageCode":"06",
  "USEnterDate":"2000-01-01",
  "USSchoolEnterDate":"2000-02-02",
  "UserCode1": "A",
  "UserCode2": "B",
  "UserCode3": "C",
  "UserCode4": "D",
  "UserCode5": "E",
  "UserCode6": "F",
  "UserCode7": "G",
  "UserCode8": "H",
  "UserCode9": "I",
  "UserCode10": "J",
  "UserCode11": "K",
  "UserCode12": "L",
  "UserCode13": "M"
}



Student Information - Update


Security Area:

  • "Student Data" – Read & Update
  • “Student Demographics” – Field-level Update permission is required for each field; otherwise, the value will be ignored.

URL:

  • POST /api/v4/UpdateStudent/{StudentID}
    • StudentID (required) – the Aeries Student District Permanent ID Number.

Notes:

  • This end point returns an array of “Student” objects representing the student record(s) that were updated. The result is an array because the same student ID may have a record at multiple schools, and all will be updated. For the specification of the “Student” object, see the Student Information section of the main Aeries API documentation.
  • Any field that is omitted will NOT be updated in the Aeries database.

POST Payload Object:

  • “StudentUpdate” object


StudentUpdate” Object Definition:

Name

Data Type

Max Length

Notes

LastName

See “StudentInsert” object definition above

 

FirstName

MiddleName

NameSuffix

Birthdate

Gender

Grade

NextGrade

NextSchool

LastSchool

ResidenceSchool

NextResidenceSchool

CorrespondanceLanguageCode

HomePhone

SchoolEnterDate

DistrictEnterDate

ParentEdLevelCode

ParentGuardianName

EthnicityCode

Race1Code

Race2Code

Race3Code

Race4Code

Race5Code

USEnterDate

USSchoolEnterDate

UserCode1

UserCode2

UserCode3

UserCode4

UserCode5

UserCode6

UserCode7

UserCode8

UserCode9

UserCode10

UserCode11

UserCode12

UserCode13


Note: For descriptions of the various coded values, use our Code Sets API


Example POST Payload:

{
  "NextGrade":11,
  "NextSchool":994,
  "HomePhone":"(888) 777-5555",
  "CorrespondanceLanguageCode":"02",
  "SchoolEnterDate":"2017-06-01",<span class="fr-marker" data-id="0" data-type="false" style="display: none; line-height: 0;"></span><span class="fr-marker" data-id="0" data-type="true" style="display: none; line-height: 0;"></span>
  "ParentEdLevelCode":"13",
  "ParentGuardianName":"New Momma",
  "LastName":"AA Test LN",
  "FirstName":"AA Test FN",
  "MiddleName":"AA Test MN",
  "NameSuffix":"JR",
  "BirthDate":"2000-11-24",
  "Gender":"F",
  "Grade":12,
  "LastSchool":993,
  "ResidenceSchool":994,
  "NextResidenceSchool":994,
  "EthnicityCode":"Y",
  "Race1Code":"400",
  "Race2Code":"700",
  "Race3Code":"",
  "Race4Code":"",
  "Race5Code":"",
  "DistrictEnterDate":"2017-05-02", 
  "USEnterDate":"2000-01-01", 
  "USSchoolEnterDate":"2000-02-02",
  "UserCode1": "A",
  "UserCode2": "B",
  "UserCode3": "C",
  "UserCode4": "D",
  "UserCode5": "E",
  "UserCode6": "F",
  "UserCode7": "G",
  "UserCode8": "H",
  "UserCode9": "I",
  "UserCode10": "J",
  "UserCode11": "K",
  "UserCode12": "L",
  "UserCode13": "M"
}



Pre-Enroll Student

The Pre-Enroll Student endpoint allows a student to be transferred as a pre-enrolled student to their approved school for the next school year.


Security Area:

  • "Trigger Student Pre-Enrollment" - Insert

URL:

  • GET /api/v4/commands/preenrollstudent/{StudentID}
    • StudentID (required) – the Aeries Student District Permanent ID Number.

Notes:

  • The NextSchool field of the active record determines where the student will be pre-enrolled.
  • A student record must be active to be pre-enrolled to another school. The system will automatically determine the most recent active record if the student has more than one.
  • Any existing pre-enrolled records for the student at other schools will be deleted. There should only ever be one pre-enrolled record for a student at a given time.
  • There are several reasons the creation of the pre-enrolled student record could fail. The most common is that the Next Grade is invalid for the Next School. Also, a student will not be copied to a school if a record (active or otherwise) already exists for that student in the school. If the pre-enrollment fails, check the LogDetails object for more information.
  •  This endpoint will return a complex PreEnrollStudentResult object. This object includes LogDetails with information about the status of the request. It also includes an array of student objects representing all student records for the given Permanent ID, including the newly created pre-enrolled record (if successful).

Example Pre-Enroll Student Results:

<PreEnrollStudentResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Aeries.API.v4.Models.Student">
    <LogDetails>
        <PreEnrollStudentLogDetails>
            <Copied>Yes</Copied>
            <Exception></Exception>
            <Grade>5</Grade>
            <NewStudentNumber>15540</NewStudentNumber>
            <NextGrade>6</NextGrade>
            <NextSchool>112</NextSchool>
            <PermanentID>399246</PermanentID>
            <SchoolCode>123</SchoolCode>
            <StudentNumber>15791</StudentNumber>
        </PreEnrollStudentLogDetails>
    </LogDetails>
    <Students>
        <Student>
            <AddressVerified>false</AddressVerified>
            <AtRiskPoints>0.0000</AtRiskPoints>
            <AttendanceProgramCodeAdditional1></AttendanceProgramCodeAdditional1>
            <AttendanceProgramCodeAdditional2></AttendanceProgramCodeAdditional2>
            <AttendanceProgramCodePrimary></AttendanceProgramCodePrimary>
            <Birthdate>2008-11-07T00:00:00</Birthdate>
            <CorrespondanceLanguageCode>02</CorrespondanceLanguageCode>
            <CounselorNumber>0</CounselorNumber>
            <DistrictEnterDate>2018-08-13T00:00:00</DistrictEnterDate>
            <EthnicityCode>N</EthnicityCode>
            <FamilyKey>0</FamilyKey>
            <FirstName>AA Test FN</FirstName>
            <FirstNameAlias></FirstNameAlias>
            <Gender>M</Gender>
            <Grade>5</Grade>
            <GradeLevelLongDescription>Fifth Grade</GradeLevelLongDescription>
            <GradeLevelShortDescription>5</GradeLevelShortDescription>
            <HighSchedulingPeriod>0</HighSchedulingPeriod>
            <HomeLanguageCode>00</HomeLanguageCode>
            <HomePhone>8887775555</HomePhone>
            <HomeRoomTeacherNumber>0</HomeRoomTeacherNumber>
            <InactiveStatusCode>*</InactiveStatusCode>
            <LanguageFluencyCode>1</LanguageFluencyCode>
            <LastName>AA Test LN</LastName>
            <LastNameAlias></LastNameAlias>
            <LockerNumber></LockerNumber>
            <LowSchedulingPeriod>0</LowSchedulingPeriod>
            <MailingAddress>123 Main ST</MailingAddress>
            <MailingAddressCity>Anaheim</MailingAddressCity>
            <MailingAddressState>CA</MailingAddressState>
            <MailingAddressZipCode>99999</MailingAddressZipCode>
            <MailingAddressZipExt>1234</MailingAddressZipExt>
            <MiddleName>AA Test MN</MiddleName>
            <MiddleNameAlias></MiddleNameAlias>
            <NetworkLoginID></NetworkLoginID>
            <NextGrade>6</NextGrade>
            <NextGradeLevelLongDescription>Sixth Grade</NextGradeLevelLongDescription>
            <NextGradeLevelShortDescription>6</NextGradeLevelShortDescription>
            <NextSchoolCode>112</NextSchoolCode>
            <NotificationPreferenceCode></NotificationPreferenceCode>
            <OldPermanentID>0</OldPermanentID>
            <ParentEdLevelCode>01</ParentEdLevelCode>
            <ParentEmailAddress></ParentEmailAddress>
            <ParentGuardianName>Mrs Momma</ParentGuardianName>
            <PermanentID>399246</PermanentID>
            <RaceCode1>700</RaceCode1>
            <RaceCode2>400</RaceCode2>
            <RaceCode3></RaceCode3>
            <RaceCode4></RaceCode4>
            <RaceCode5></RaceCode5>
            <ResidenceAddress>789 Broadway</ResidenceAddress>
            <ResidenceAddressCity>Oakland</ResidenceAddressCity>
            <ResidenceAddressState>CA</ResidenceAddressState>
            <ResidenceAddressZipCode>88888</ResidenceAddressZipCode>
            <ResidenceAddressZipExt>4321</ResidenceAddressZipExt>
            <SchoolCode>112</SchoolCode>
            <SchoolEnterDate>2018-08-13T00:00:00</SchoolEnterDate>
            <SchoolLeaveDate i:nil="true" />
            <StateStudentID></StateStudentID>
            <StudentEmailAddress></StudentEmailAddress>
            <StudentMobilePhone></StudentMobilePhone>
            <StudentNumber>15540</StudentNumber>
            <Track></Track>
            <UserCode1>1</UserCode1>
            <UserCode10>10</UserCode10>
            <UserCode11>11</UserCode11>
            <UserCode12>12</UserCode12>
            <UserCode13>13</UserCode13>
            <UserCode2>2</UserCode2>
            <UserCode3>3</UserCode3>
            <UserCode4>4</UserCode4>
            <UserCode5>5</UserCode5>
            <UserCode6>6</UserCode6>
            <UserCode7>7</UserCode7>
            <UserCode8>8</UserCode8>
            <UserCode9>9</UserCode9>
        </Student>
        <Student>
            <AddressVerified>false</AddressVerified>
            <AtRiskPoints>0.0000</AtRiskPoints>
            <AttendanceProgramCodeAdditional1></AttendanceProgramCodeAdditional1>
            <AttendanceProgramCodeAdditional2></AttendanceProgramCodeAdditional2>
            <AttendanceProgramCodePrimary></AttendanceProgramCodePrimary>
            <Birthdate>2008-11-07T00:00:00</Birthdate>
            <CorrespondanceLanguageCode>02</CorrespondanceLanguageCode>
            <CounselorNumber>0</CounselorNumber>
            <DistrictEnterDate>2018-08-13T00:00:00</DistrictEnterDate>
            <EthnicityCode>N</EthnicityCode>
            <FamilyKey>0</FamilyKey>
            <FirstName>AA Test FN</FirstName>
            <FirstNameAlias></FirstNameAlias>
            <Gender>M</Gender>
            <Grade>5</Grade>
            <GradeLevelLongDescription>Fifth Grade</GradeLevelLongDescription>
            <GradeLevelShortDescription>5</GradeLevelShortDescription>
            <HighSchedulingPeriod>0</HighSchedulingPeriod>
            <HomeLanguageCode>00</HomeLanguageCode>
            <HomePhone>8887775555</HomePhone>
            <HomeRoomTeacherNumber>0</HomeRoomTeacherNumber>
            <InactiveStatusCode></InactiveStatusCode>
            <LanguageFluencyCode>1</LanguageFluencyCode>
            <LastName>AA Test LN</LastName>
            <LastNameAlias></LastNameAlias>
            <LockerNumber></LockerNumber>
            <LowSchedulingPeriod>0</LowSchedulingPeriod>
            <MailingAddress>123 Main ST</MailingAddress>
            <MailingAddressCity>Anaheim</MailingAddressCity>
            <MailingAddressState>CA</MailingAddressState>
            <MailingAddressZipCode>99999</MailingAddressZipCode>
            <MailingAddressZipExt>1234</MailingAddressZipExt>
            <MiddleName>AA Test MN</MiddleName>
            <MiddleNameAlias></MiddleNameAlias>
            <NetworkLoginID></NetworkLoginID>
            <NextGrade>6</NextGrade>
            <NextGradeLevelLongDescription>Sixth Grade</NextGradeLevelLongDescription>
            <NextGradeLevelShortDescription>6</NextGradeLevelShortDescription>
            <NextSchoolCode>112</NextSchoolCode>
            <NotificationPreferenceCode></NotificationPreferenceCode>
            <OldPermanentID>0</OldPermanentID>
            <ParentEdLevelCode>01</ParentEdLevelCode>
            <ParentEmailAddress></ParentEmailAddress>
            <ParentGuardianName>Mrs Momma</ParentGuardianName>
            <PermanentID>399246</PermanentID>
            <RaceCode1>700</RaceCode1>
            <RaceCode2>400</RaceCode2>
            <RaceCode3></RaceCode3>
            <RaceCode4></RaceCode4>
            <RaceCode5></RaceCode5>
            <ResidenceAddress>789 Broadway</ResidenceAddress>
            <ResidenceAddressCity>Oakland</ResidenceAddressCity>
            <ResidenceAddressState>CA</ResidenceAddressState>
            <ResidenceAddressZipCode>88888</ResidenceAddressZipCode>
            <ResidenceAddressZipExt>4321</ResidenceAddressZipExt>
            <SchoolCode>123</SchoolCode>
            <SchoolEnterDate>2018-08-13T00:00:00</SchoolEnterDate>
            <SchoolLeaveDate i:nil="true" />
            <StateStudentID></StateStudentID>
            <StudentEmailAddress></StudentEmailAddress>
            <StudentMobilePhone></StudentMobilePhone>
            <StudentNumber>15791</StudentNumber>
            <Track></Track>
            <UserCode1>1</UserCode1>
            <UserCode10>10</UserCode10>
            <UserCode11>11</UserCode11>
            <UserCode12>12</UserCode12>
            <UserCode13>13</UserCode13>
            <UserCode2>2</UserCode2>
            <UserCode3>3</UserCode3>
            <UserCode4>4</UserCode4>
            <UserCode5>5</UserCode5>
            <UserCode6>6</UserCode6>
            <UserCode7>7</UserCode7>
            <UserCode8>8</UserCode8>
            <UserCode9>9</UserCode9>
        </Student>
    </Students>
</PreEnrollStudentResult>



Pre-Enroll Inactive Student

The Pre-Enroll Inactive Student endpoint provides the ability to create a Pre-Enroll student record from an inactive STU record and place the resulting new pre-enrolled record in a desired school.


Security Area:

  • "Student Data" - Update

URL:

  • GET /api/v4/PreEnrollInactiveStudent/{StudentID}/{NewSchoolCode}
    • StudentID (required) – the Aeries Student District Permanent ID Number.
    • NewSchoolCode (required) – the destination Aeries School Number for the new pre-enrolled record.

Notes:

  • The {StudentID} value determines which student will be pre-enrolled.
  • The {NewSchoolCode} value determines where the student will be pre-enrolled.
  • A student record must be inactive to be pre-enrolled to another school utilizing this endpoint. 
  • The system will automatically determine the most recent inactive record if the student has more than one inactive record.
  • Any preexisting pre-enrollment record for the same student at other school(s) will return a "500 Student is already pre-enrolled" message. There should only be one pre-enrolled record for a student at a given time.
  • This end point returns an array of student objects representing all student records for the given Permanent ID, including the newly created pre-enrolled record (if successful).  For the specification of the “Student” object, see the Student Information section of the main Aeries API documentation.
  • This end point should only be used to create a pre-enrolled record for a student who has no active record in the district.

Errors:

  • 401 Unauthorized
    • The district has not set permissions for "Student Data Update"
  • 500 Invalid Student ID
    • A Student ID was sent that does not exist in the database
  • 500 Invalid Next School Code
    • The Next School Code sent is not a valid school code in Aeries
  • 500 Student has an active record.
    • There is already an active record in Aeries for the Student ID. The Pre-Enrollment Trigger should be used instead.
  • 500 Student is already pre-enrolled.
    • The student already has a pre-enrolled record in the database

Example Pre-Enroll Inactive Student Results:

[  
   {  
      "PermanentID":99300014,
      "SchoolCode":993,
      "StudentNumber":14,
      "StateStudentID":"0099300014",
      "LastName":"Albert",
      "FirstName":"Alison",
      "MiddleName":"A",
      "LastNameAlias":"",
      "FirstNameAlias":"",
      "MiddleNameAlias":"",
      "Gender":"F",
      "Grade":8,
      "GradeLevelShortDescription":"8",
      "GradeLevelLongDescription":"Eighth Grade",
      "Birthdate":"2004-11-07T00:00:00",
      "ParentGuardianName":"M/M A Albert",
      "HomePhone":"9996334125",
      "StudentMobilePhone":"",
      "MailingAddress":"10922 Pembroke Dr",
      "MailingAddressCity":"Eagle Point",
      "MailingAddressState":"CA",
      "MailingAddressZipCode":"99999",
      "MailingAddressZipExt":"",
      "ResidenceAddress":"10922 Pembroke Dr",
      "ResidenceAddressCity":"Eagle Point",
      "ResidenceAddressState":"CA",
      "ResidenceAddressZipCode":"99999",
      "ResidenceAddressZipExt":"",
      "AddressVerified":false,
      "EthnicityCode":"N",
      "RaceCode1":"700",
      "RaceCode2":"",
      "RaceCode3":"",
      "RaceCode4":"",
      "RaceCode5":"",
      "UserCode1":"",
      "UserCode2":"",
      "UserCode3":"",
      "UserCode4":"Y",
      "UserCode5":"",
      "UserCode6":"",
      "UserCode7":"",
      "UserCode8":"",
      "UserCode9":"",
      "UserCode10":"",
      "UserCode11":"",
      "UserCode12":"",
      "UserCode13":"",
      "SchoolEnterDate":"2014-09-04T00:00:00",
      "SchoolLeaveDate":null,
      "DistrictEnterDate":"2004-11-07T00:00:00",
      "CounselorNumber":0,
      "Track":"",
      "AttendanceProgramCodePrimary":"",
      "AttendanceProgramCodeAdditional1":"",
      "AttendanceProgramCodeAdditional2":"",
      "LockerNumber":"",
      "LowSchedulingPeriod":0,
      "HighSchedulingPeriod":9,
      "InactiveStatusCode":"I",
      "FamilyKey":216,
      "LanguageFluencyCode":"",
      "HomeLanguageCode":"",
      "CorrespondanceLanguageCode":"00",
      "ParentEdLevelCode":"",
      "ParentEmailAddress":"",
      "StudentEmailAddress":"Alison.Albert@example.com",
      "NetworkLoginID":"",
      "AtRiskPoints":"9.0000",
      "HomeRoomTeacherNumber":"0",
      "NotificationPreferenceCode":"",
      "NextSchoolCode":999,
      "NextGrade":9,
      "NextGradeLevelShortDescription":"9",
      "NextGradeLevelLongDescription":"Ninth Grade",
      "OldPermanentID":0
   },
   {  
      "PermanentID":99300014,
      "SchoolCode":994,
      "StudentNumber":2787,
      "StateStudentID":"0099300014",
      "LastName":"Albert",
      "FirstName":"Alison",
      "MiddleName":"A",
      "LastNameAlias":"",
      "FirstNameAlias":"",
      "MiddleNameAlias":"",
      "Gender":"F",
      "Grade":8,
      "GradeLevelShortDescription":"8",
      "GradeLevelLongDescription":"Eighth Grade",
      "Birthdate":"2004-11-07T00:00:00",
      "ParentGuardianName":"M/M A Albert",
      "HomePhone":"9996334125",
      "StudentMobilePhone":"",
      "MailingAddress":"10922 Pembroke Dr",
      "MailingAddressCity":"Eagle Point",
      "MailingAddressState":"CA",
      "MailingAddressZipCode":"99999",
      "MailingAddressZipExt":"",
      "ResidenceAddress":"10922 Pembroke Dr",
      "ResidenceAddressCity":"",
      "ResidenceAddressState":"",
      "ResidenceAddressZipCode":"",
      "ResidenceAddressZipExt":"",
      "AddressVerified":false,
      "EthnicityCode":"N",
      "RaceCode1":"700",
      "RaceCode2":"",
      "RaceCode3":"",
      "RaceCode4":"",
      "RaceCode5":"",
      "UserCode1":"",
      "UserCode2":"",
      "UserCode3":"",
      "UserCode4":"Y",
      "UserCode5":"",
      "UserCode6":"",
      "UserCode7":"",
      "UserCode8":"",
      "UserCode9":"",
      "UserCode10":"",
      "UserCode11":"",
      "UserCode12":"",
      "UserCode13":"",
      "SchoolEnterDate":"2019-04-23T12:10:02.147",
      "SchoolLeaveDate":null,
      "DistrictEnterDate":"2010-11-07T00:00:00",
      "CounselorNumber":0,
      "Track":"",
      "AttendanceProgramCodePrimary":"",
      "AttendanceProgramCodeAdditional1":"",
      "AttendanceProgramCodeAdditional2":"",
      "LockerNumber":"",
      "LowSchedulingPeriod":0,
      "HighSchedulingPeriod":9,
      "InactiveStatusCode":"*",
      "FamilyKey":0,
      "LanguageFluencyCode":"",
      "HomeLanguageCode":"",
      "CorrespondanceLanguageCode":"00",
      "ParentEdLevelCode":"",
      "ParentEmailAddress":"",
      "StudentEmailAddress":"Alison.Albert@example.com",
      "NetworkLoginID":"",
      "AtRiskPoints":"9.0000",
      "HomeRoomTeacherNumber":"0",
      "NotificationPreferenceCode":"",
      "NextSchoolCode":999,
      "NextGrade":9,
      "NextGradeLevelShortDescription":"9",
      "NextGradeLevelLongDescription":"Ninth Grade",
      "OldPermanentID":0
   },
   {  
      "PermanentID":99300014,
      "SchoolCode":996,
      "StudentNumber":14,
      "StateStudentID":"0099300014",
      "LastName":"Albert",
      "FirstName":"Alison",
      "MiddleName":"A",
      "LastNameAlias":"",
      "FirstNameAlias":"",
      "MiddleNameAlias":"",
      "Gender":"F",
      "Grade":8,
      "GradeLevelShortDescription":"8",
      "GradeLevelLongDescription":"Eighth Grade",
      "Birthdate":"2004-11-07T00:00:00",
      "ParentGuardianName":"M/M A Albert",
      "HomePhone":"9996334125",
      "StudentMobilePhone":"",
      "MailingAddress":"10922 Pembroke Dr",
      "MailingAddressCity":"Eagle Point",
      "MailingAddressState":"CA",
      "MailingAddressZipCode":"99999",
      "MailingAddressZipExt":"",
      "ResidenceAddress":"10922 Pembroke Dr",
      "ResidenceAddressCity":"",
      "ResidenceAddressState":"",
      "ResidenceAddressZipCode":"",
      "ResidenceAddressZipExt":"",
      "AddressVerified":false,
      "EthnicityCode":"N",
      "RaceCode1":"700",
      "RaceCode2":"",
      "RaceCode3":"",
      "RaceCode4":"",
      "RaceCode5":"",
      "UserCode1":"",
      "UserCode2":"",
      "UserCode3":"",
      "UserCode4":"Y",
      "UserCode5":"",
      "UserCode6":"",
      "UserCode7":"",
      "UserCode8":"",
      "UserCode9":"",
      "UserCode10":"",
      "UserCode11":"",
      "UserCode12":"",
      "UserCode13":"",
      "SchoolEnterDate":"2013-09-04T00:00:00",
      "SchoolLeaveDate":null,
      "DistrictEnterDate":"2010-11-07T00:00:00",
      "CounselorNumber":29,
      "Track":"",
      "AttendanceProgramCodePrimary":"",
      "AttendanceProgramCodeAdditional1":"",
      "AttendanceProgramCodeAdditional2":"",
      "LockerNumber":" ",
      "LowSchedulingPeriod":0,
      "HighSchedulingPeriod":9,
      "InactiveStatusCode":"I",
      "FamilyKey":0,
      "LanguageFluencyCode":"",
      "HomeLanguageCode":"",
      "CorrespondanceLanguageCode":"00",
      "ParentEdLevelCode":"",
      "ParentEmailAddress":"",
      "StudentEmailAddress":"Alison.Albert@example.com",
      "NetworkLoginID":"",
      "AtRiskPoints":"9.0000",
      "HomeRoomTeacherNumber":"29",
      "NotificationPreferenceCode":"",
      "NextSchoolCode":999,
      "NextGrade":9,
      "NextGradeLevelShortDescription":"9",
      "NextGradeLevelLongDescription":"Ninth Grade",
      "OldPermanentID":0
   }
]



Student Information Extended

There is a special “version 3.1” of the Student Information Extended end point. Some fields that are now updatable via the API end points described in this document are not returned in the v3 Student Information Extended end point. The v3.1 end point includes these additional fields.


Security Area:

  • "Student Data" - Read

URL(s):

  • /api/v3.1/schools/{SchoolCode}/students/{StudentID}/extended
    • SchoolCode (required) – the Aeries School Code.  This is normally 1-999.
    • StudentID (required) – the Aeries Student District Permanent ID Number.
  • /api/v3.1/schools/{SchoolCode}/students/grade/{GradeLevel}/extended
    • SchoolCode (required) – the Aeries School Code.  This is normally 1-999.
    • GradeLevel (required) – the academic grade level of the set of students to return.
  • /api/v3.1/schools/{SchoolCode}/students/sn/{StudentNumber}/extended
    • SchoolCode (required) – the Aeries School Code.  This is normally 1-999.
    • StudentNumber (required) – the School-Based Student Number of the student to return.

Query String Filters:

  • StartingRecord – (numeric) The Record-Count value of the first record to return (inclusive).
  • EndingRecord – (numeric) The Record-Count value of the last record to return (inclusive).

Notes:

  • If 0 is passed for Student ID, all students for the given school will be returned.
  • Results are always returned in the form of an "Array of Student Extended" because often students have multiple records in a district if they are concurrently enrolled or have switched between schools during the school year.

Example Student Information Extended Results:

<ArrayOfStudentExtended xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Aeries.API.v31.Models.Student">
    <StudentExtended>
        <BirthCity>Hermosillo</BirthCity>
        <BirthCountryCode>MX</BirthCountryCode>
        <BirthStateCode>SO</BirthStateCode>
        <CourseCompletionCSU>Y</CourseCompletionCSU>
        <CourseCompletionUC>Y</CourseCompletionUC>
        <DateRedesignatedFluentEnglishProficient i:nil="true" />
        <DistrictMobility>1</DistrictMobility>
        <EndOfYearStatusCode></EndOfYearStatusCode>
        <EnglishLearnerEndDate i:nil="true" />
        <EnglishLearnerProgramCode></EnglishLearnerProgramCode>
        <EnglishLearnerServiceCode>330</EnglishLearnerServiceCode>
        <EnglishLearnerStartDate>2010-09-05T00:00:00</EnglishLearnerStartDate>
        <ExpectedGraduationDate i:nil="true" />
        <GraduationRequirementsTrack></GraduationRequirementsTrack>
        <HomeLanguageSurveyAdultLanguageCode>00</HomeLanguageSurveyAdultLanguageCode>
        <HomeLanguageSurveyFirstLanguageCode>00</HomeLanguageSurveyFirstLanguageCode>
        <HomeLanguageSurveyHomeLanguageCode>00</HomeLanguageSurveyHomeLanguageCode>
        <HomeLanguageSurveyPrimaryLanguageCode>00</HomeLanguageSurveyPrimaryLanguageCode>
        <InterIntraDistrictStateCode></InterIntraDistrictStateCode>
        <InterIntraDistrictTransferCode></InterIntraDistrictTransferCode>
        <LastSchool>0</LastSchool>
        <LongTermEnglishLearnerCode>L</LongTermEnglishLearnerCode>
        <NextGrade>11</NextGrade>
        <NextResidenceSchool>0</NextResidenceSchool>
        <NextSchool>994</NextSchool>
        <PermanentID>99400001</PermanentID>
        <QualifiedCSU>Y</QualifiedCSU>
        <QualifiedUC>Y</QualifiedUC>
        <RecordAddedDateTime i:nil="true" />
        <RecordAddedSystem></RecordAddedSystem>
        <ResidenceSchool>994</ResidenceSchool>
        <SafeSchoolsActViolationDate>2017-02-28T00:00:00</SafeSchoolsActViolationDate>
        <SchedulingGroup></SchedulingGroup>
        <SchoolCode>994</SchoolCode>
        <SchoolCompletionDate i:nil="true" />
        <SchoolCompletionStatusCode></SchoolCompletionStatusCode>
        <SchoolMobility>9</SchoolMobility>
        <StateSchoolEnterDate>2003-09-08T00:00:00</StateSchoolEnterDate>
        <StateStudentID>1234567890</StateStudentID>
        <StudentNumber>1</StudentNumber>
        <SummerWithdrawalReasonCode></SummerWithdrawalReasonCode>
        <USEnterDate>2006-01-01T00:00:00</USEnterDate>
        <USSchoolEnterDate>2003-09-08T00:00:00</USSchoolEnterDate>
        <USSchoolsLessThan3Years></USSchoolsLessThan3Years>
        <YearsAsEnglishLearner>3</YearsAsEnglishLearner>
    </StudentExtended>
    …
    …
</ArrayOfStudentExtended>


Additional Field Documentation (only differences from the v3 end point are shown below):

Name

Aeries Table.Column

Description

LastSchool

STU.LS

The Aeries school code of the last school the student attended

NextGrade

STU.NG

Student’s grade level for next school year. Valid range is (-2) – 18.

NextResidenceSchool

STU.NRS

The Aeries school code of the student’s assigned school of residence for next year

NextSchool

STU.NS

The Aeries school code of the next school the student will attend

ResidenceSchool

STU.RS

The Aeries school code of the student’s assigned school of residence, usually based on address boundaries



Student Information - Update Address


Security Area:

  • "Student Data" – Read & Update
  • “Student Demographics” – Field-level Update permission is required for each field; otherwise, the value will be ignored.

URL:

  • POST /api/v3/UpdateStudentAddress/{StudentID}
    • StudentID (required) – the Aeries Student District Permanent ID Number.

Notes:

  • This end point returns an array of “Student” objects representing the student record(s) that were updated. The result is an array because the same student ID may have a record at multiple schools, and all will be updated. For the specification of the “Student” object, see the Student Information section of the main Aeries API documentation.
  • Any field that is omitted will NOT be updated in the Aeries database.

POST Payload Object:

  • “StudentAddressUpdate” object


“StudentAddressUpdate” Object Definition:

Name

Data Type

Max Length

Notes

MailingAddress

String

55

Student’s mailing address

MailingAddressCity

String

30

Student’s mailing address city

MailingAddressState

String

2

Student’s mailing address state

MailingAddressZipCode

String

5

Student’s mailing address zip code

MailingAddressZipExt

String

4

Student’s mailing  address zip code extension

ResidenceAddress

String

55

Residence address

ResidenceAddressCity

String

30

Residence address city

ResidenceAddressState

String

2

Residence address state

ResidenceAddressZipCode

String

5

Residence address zip code

ResidenceAddressZipExt

String

4

Residence address zip code extension

CorrectionOrChange

String


Indicates whether this is an address change or correcting bad data. Valid values are “Correction” or “Change”.

EffectiveStartDate

Date


Required only if CorrectionOrChange = “Change”. The effective date for the address change.


Example POST Payload:

{
  "MailingAddress":"123412 Main ST",
  "MailingAddressCity":"Anaheim",
  "MailingAddressState":"CA",
  "MailingAddressZipCode":"99999",
  "MailingAddressZipExt":"1234",
  "ResidenceAddress":"789 Broadway",
  "ResidenceAddressCity":"Fullerton",
  "ResidenceAddressState":"CA",
  "ResidenceAddressZipCode":"88888",
  "ResidenceAddressZipExt":"4321",
  "CorrectionOrChange":"Change",
  "EffectiveStartDate":"2017-05-02"
}



School Supplemental Student Data - Update


Security Area:

  • "Supplemental Data" – Read & Update

URL:

  • POST /api/v3/UpdateSchoolSupplemental/{SchoolCode}/{StudentNumber}
    • SchoolCode (required) – the Aeries School Code.  This is normally 1-999.
    • StudentNumber (required) – the School-Based Student Number of the student.

Notes:

  • This end point returns a single “Supplemental” object representing the record that was updated. For the specification of the “Supplemental” object, see the School Supplemental Student Data section of the main Aeries API documentation.
  • The “SUP” table in Aeries can be customized by each district. Prior to utilizing this end point, it is necessary for the vendor to obtain from the Aeries customer a list of columns that are expected to be updated via the API.
  • Any column that is omitted will NOT be updated in the Aeries database.

POST Payload Object:

  • “SupplementalUpdate” object


“SupplementalUpdate” Object Definition:

Name

Data Type

Notes

Columns

Array of ColumnUpdate objects

This is an array of custom objects. See below for details.


“ColumnUpdate” Object Definition:

Name

Data Type

Notes

ColumnCode

String

The name of the column in the Aeries database

NewValue

Object

The new value. Use an appropriate data type for the database column type


Example POST Payload:

{
  "Columns": [
    {
      "ColumnCode":"PI",
      "NewValue":"A"
    },
    {
      "ColumnCode":"EE",
      "NewValue":"6/22/2017"
    },
    {
      "ColumnCode":"XX",
      "NewValue":"Some additional information"
    }
  ]
}



Contacts - Create


Security Area:

  • "Contacts" – Read & Insert
  • “Contacts” – Field-level Insert permission is required for each field; otherwise, the value will be ignored.

URL:

  • POST /api/v3/InsertContact/{StudentID}
    • StudentID (required) – the Aeries Student District Permanent ID Number.

Notes:

  • This end point returns a single “Contact” object representing the contact record that was just added. For the specification of the “Contact” object, see the Contacts section of the main Aeries API documentation.
  • Any field that is omitted will be assigned the Aeries default value for that field.

POST Payload Object:

  • “ContactInsert” object


ContactInsert” Object Definition:

Name

Data Type

Max Length

Notes

MailingName

String

50

The name for this contact that should appear on mailing labels

NamePrefix

String

5

The name prefix for this contact

FirstName

String

20

The contact’s first name

LastName

String

50

The contact’s last name

MiddleName

String

20

The contact’s middle name

NameSuffix

String

10

The name suffix for this contact

Address

String

50

The street address of this contact

AddressCity

String

24

The city

AddressState

String

2

The state abbreviation

AddressZip

String

5

The zip code

AddressZipExt

String

4

The zip code extension

RelationshipToStudentCode

String

2

A code indicating the contact’s relationship to the student

HomePhone

String


The contact’s home phone number. Formatting may be included, and the input will be parsed for the first 10 digits (0-9) encountered.

WorkPhone

String


The contact’s work phone number. Formatting may be included, and the input will be parsed for the first 10 digits (0-9) encountered.

WorkPhoneExt

String

5

The contact’s work phone extension

CellPhone

String


The contact’s mobile phone number. Formatting may be included, and the input will be parsed for the first 10 digits (0-9) encountered.

EmailAddress

String

50

The email address of this contact

ContactOrder

Integer


The order in which this contact displays in Aeries


Note: For descriptions of the various coded values, use our Code Sets API


Example POST Payload:

{
  "MailingName":"To: Mother",
  "NamePrefix":"Dr.",
  "LastName":"AA Test LN",
  "FirstName":"AA Test FN",
  "MiddleName":"AA Test MN",
  "NameSuffix":"JR",
  "Address":"1234 Main St",
  "AddressCity":"Anaheim",
  "AddressState":"CA",
  "AddressZip":"99999",
  "AddressZipExt":"1234",
  "RelationshiptoStudentCode":"10",
  "HomePhone":"(888) 777-5555",
  "WorkPhone":"(800) 555-5555",
  "WorkPhoneExt":"1234",
  "CellPhone":"(999) 444-4455",
  "EmailAddress":"noone@aeries.com",
  "ContactOrder":10
}



Contacts - Update


Security Area:

  • "Contacts" – Read & Update
  • “Contacts” – Field-level Update permission is required for each field; otherwise, the value will be ignored.

URL:

  • POST /api/v3/UpdateContact/{StudentID}/{SequenceNumber}
    • StudentID (required) – the Aeries Student District Permanent ID Number.
    • SequenceNumber (required) – the sequence number that makes up part of the primary key

Notes:

  • This end point returns a single “Contact” object representing the contact record that was just updated. For the specification of the “Contact” object, see the Contacts section of the main Aeries API documentation.
  • To obtain the sequence number, make a request to the Contacts end point to retrieve a list of all contacts for the selected student. Each “Contact” object will include the SequenceNumber field.
  • Any field that is omitted will NOT be updated in the Aeries database.

POST Payload Object:

  • “ContactUpdate” object


“ContactUpdate” Object Definition:

Name

Data Type

Max Length

Notes

MailingName

See “ContactInsert” object definition above

NamePrefix

FirstName

LastName

MiddleName

NameSuffix

Address

AddressCity

AddressState

AddressZip

AddressZipExt

RelationshipToStudentCode

HomePhone

WorkPhone

WorkPhoneExt

CellPhone

EmailAddress

ContactOrder


Note: For descriptions of the various coded values, use our Code Sets API


Example POST Payload:

{
  "MailingName":"To: New Mother",
  "NamePrefix":"Mrs",
  "LastName":"new AA Test LN",
  "Address":"12 Main St",
  "AddressCity":"Anaheim",
  "AddressState":"CA",
  "AddressZip":"99999",
  "AddressZipExt":"1234",
  "RelationshiptoStudentCode":"11",
  "HomePhone":"(888) 777-5555",
  "WorkPhone":"(800) 555-5555",
  "WorkPhoneExt":"1234",
  "CellPhone":"(999) 414-4455",
  "EmailAddress":"noone@aeries.com",
  "ContactOrder":11
}



Contacts - Delete


Security Area:

  • "Contacts" – Delete

URL:

  • /api/v3/DeleteContact/{StudentID}/{SequenceNumber}
    • StudentID (required) – the Aeries Student District Permanent ID Number.
    • SequenceNumber (required) – the sequence number that makes up part of the primary key

Notes:

  • This end point supports both the DELETE and GET HTTP verbs. The DELETE verb is preferred, but GET is supported in the unlikely case the customer’s web server is configured to block DELETE requests.
  • After a successful request, this end point returns an array of “Contact” objects representing the student’s contact records that remain after the selected record was deleted. For example, if there were three contact records before, the response body will be an array containing the remaining two contact records. If there was only one contact record before, the response body will be an empty array of contact records. For the specification of the “Contact” object, see the Contacts section of the main Aeries API documentation.
  • To obtain the sequence number, make a request to the Contacts end point to retrieve a list of all contacts for the selected student. Each “Contact” object will include the SequenceNumber field.