TABLE OF CONTENTS
Staff Information
Security Area:
- "Staff Data"
URL(s):
- /api/v5/staff/{StaffID}
- StaffID (optional) – The Aeries District Staff ID (numeric).
- api/v5/staff/hrid/{hrid}
- HRID (optional) - The Human Resources ID (alphanumeric)
Query String Filters:
- Most fields below can be passed as query string filters to limit the records returned.
- Example: ?primaryaeriesschool=994&fulltimepercentage=100
- Example: ?username=JohnSmith
- The date fields will accept “null” as a comparison; e.g., ?leavedate=null
Notes:
- If Staff ID is not passed, all staff records in the district will be returned.
- If the API Security Option, Exclude Expire Accounts for Staff Data, is enabled, expired User (UGN) accounts will not be included in the results.
Example Staff Information Results:
https://demo.aeries.net/aeries/api/v5/staff/994065
Field Documentation:
Name | Aeries Table.Column | Description |
AlternateEmailAddress | STF.AEM | An alternate email address. |
BirthDate | STF.BD | Date of Birth |
BirthYear | STF.BY | (obsolete) Year of birth |
CellPhone | STF.CP | Mobile phone number |
EmailAddress | UGN.EM | The staff member’s email address. (Will pull from STF.EM if UGN.EM is blank) |
FirstName | STF.FN | The staff member’s first name |
FullTimePercentage | STF.TP | The staff member’s full-time employment percentage |
HireDate | STF.HD | The staff member’s hire date |
HumanResourcesSystemID | STF.HRID | An identifier for the staff member in an external Human Resources management system. While Aeries staff IDs are numeric, this field accepts all text characters. |
ID | STF.ID | The Aeries District Staff ID |
InactiveStatusCode | STF.TG | Any value other than blank indicates the staff member is inactive. |
LastName | STF.LN | The staff member’s last name |
LeaveDate | STF.LD | The date the staff member’s employment terminated. |
MiddleName | STF.MN | The staff member’s middle name |
NetworkLoginID | STF.NID | The staff member’s network login ID. This may be used by the district for any purpose they choose, such as an Active Directory account. |
NotificationPreferenceCode | STF.NP | The staff member’s Aeries Comunications notification preference. |
PrimaryAeriesSchool | STF.PSC | The Aeries school code of the school where the staff member is primarily employed. |
CommunicationGroup | USR.CG | Indicates whether the user should be included in school-wide communications for this school in the Aeries Communications system. |
ReadOnlyAccess | USR.RO | Indicates whether this user has read-only access to the Aeries system for this school code. If True, the user is not permitted to make ANY changes to data when logged-in to this school code. |
SchoolCode | USR.SC | The Aeries school code to which this user has access. |
Gender | STF.SX | The staff member’s sex (M or F) |
StateEducatorID | STF.SID | For certificated employees, the Statewide Educator ID issued by the state authority. |
Title | STF.TI | The staff member’s title. |
UserName | UGN.UN | The staff member’s username for the Aeries SIS. |
EarlyChildhoodCertificationCode | STF.ECC | Early Childhood Certification Code |
MonthlyMinutes | STJ.MMN | Monthly Minutes |
PopulationServedCode | STJ.PSV | Population Served Code |
ServiceIdCode | STJ.SVC | Service ID Code |
For descriptions of the codes, use our “Code Sets” API: ~api/v5/codes/Staff/{ElementName}
Example:
https://demo.aeries.net/aeries/api/v5/codes/Staff/ECC
Extended Properties:
- CommunicationDistrictAdmin
- AllowPostingToGeneralDistrictLevelCommunicationGroups
- AllowPostingToGeneralSchoolLevelCommunicationGroups
- AllowPostingToStaffSpecificDistrictLevelCommunicationGroups
- AllowPostingToStaffSpecificSchoolLevelCommunicationGroups
Staff Information - Create ↑
Security Area:
- "Staff Data" - Insert
URL(s):
- POST /api/v5/staff
Notes:
- After a successful request, this end point returns HTTP status code 201, and the response body contains the "Staff" object that was just created.
POST Payload Object:
- “StaffUpdate” object
“StaffUpdate” Object Definition:
Name | Data Type | Notes |
ID | Int32 | The Aeries district staff ID. Some customers enable an option to auto-generate new staff IDs. In this case, ID will be ignored. Otherwise, it is REQUIRED. |
FirstName | String | Max length: 20 |
LastName | String | Max length: 50 |
MiddleName | String | Max length: 20 |
BirthYear | Int16 | |
BirthDate | Date | |
FullTimePercentage | Int16 | |
HireDate | Date | |
LeaveDate | Date | |
InactiveStatusCode | String | Max length: 1 |
StateEducatorID | String | Max length: 10 |
EmailAddress | String | Max length: 255 |
PrimaryAeriesSchool | Int16 | |
NetworkLoginID | String | Max length: 255 |
AlternateEmailAddress | String | Max length: 255 |
HumanResourcesSystemID | String | Max length: 255 |
CellPhone | String | Max length: 10 numbers. If other characters are passed, only numbers will be kept. |
Title | String | Max length: 100 |
Gender | String | Max length: 1 |
EducationLevelCode | String | Max length: 2 |
EthnicityCode | String | Max length: 1 |
RaceCode1 | String | Max length: 3 |
RaceCode2 | String | Max length: 3 |
RaceCode3 | String | Max length: 3 |
RaceCode4 | String | Max length: 3 |
RaceCode5 | String | Max length: 3 |
PositionStatusCode | String | Max length: 2 |
TotalYearsOfEduService | Int16 | |
TotalYearsInThisDistrict | Int16 | |
PreviousLastName | String | Max length: 50 |
PreviousFirstName | String | Max length: 50 |
PreviousMiddleName | String | Max length: 50 |
NameSuffix | String | Max length: 10 |
Address | String | Max length: 55 |
AddressCity | String | Max length: 30 |
AddressState | String | Max length: 2 |
AddressZipCode | String | Max length: 5 |
AddressZipExt | String | Max length: 4 |
HomePhone | String | Max length: 10 numbers. If other characters are passed, only numbers will be kept. |
EmergencyContactName | String | Max length: 50 |
EmergencyContactPhone | String | Max length: 10 numbers. If other characters are passed, only numbers will be kept. |
Example POST Payload:
Staff Information - Update ↑
Security Area:
- "Staff Data" - Update
URL(s):
- PUT /api/v5/staff/{StaffID}
- StaffID (required) - the Aeries district Staff ID
Notes:
- If the Staff ID does not exist, a new record will be created unless the customer has enabled the option to auto-generate new staff IDs. In this case, an error will be generated if the given Staff ID does not already exist.
- After a successful request, this end point returns the "Staff" object that was just updated or created. If an existing record was updated, the status code will be 200. If a new record was created, the status code will be 201.
- If a property is omitted or null, it will be ignored. An empty string is different from a null value. An empty string willoverwrite an existing value for string type properties.
- Exception: If LeaveDate is omitted or null, it will be set to null. (It's important to be able to nullify this field, so we need to assume that the intent is to nullify if it's missing.
PUT Payload Object:
- “StaffUpdate” object
“StaffUpdate” Object Definition:
The definition is the same that is given with the Staff Information - Create documentation, with the following exception:
- ID is ignored in the body. The StaffID from the URL is used instead.
Example PUT Payload:
Staff Assignments ↑
Security Area:
- "Staff Job Assignments"
- "Staff Assignments (Classified)"
URL(s):
- /api/v5/staff/{StaffID}/assignments/{AssignmentType}/{SequenceNumber}
- StaffID (required) - the Aeries district Staff ID
- AssignmentType (optional) - the type of assignment ("certificated" or "classified").
- SequenceNumber (optional) - part of the primary key, along with StaffID and AssignmentType. Uniquely identifies an assignment given a staff ID and assignment type. If SequenceNumber is passed, then AssignmentType is required.
- /api/v5/staff/{StaffID}/assignments/date/{year}/{month}/{day}/{AssignmentType}
- Collection of assignments for a staff ID effective on a specific date
- StaffID (required) - the Aeries district Staff ID
- year, month, day (required) - the date parts for the effective date
- AssignmentType (optional) - the type of assignment ("certificated" or "classified")
Notes:
- Assignments for certificated and classified staff are stored in two separate Aeries tables. For the greatest flexibility, these are separate security areas. However, they are both referred to as "assignments" in the API. There is an AssignmentType property of "certificated" or "classified" to distinguish them. Not all fields are applicable to classified assignments. These can be identified by the Aeries Table.Column in the field documentation. If there is no mapping to STA, the field does not apply to classified assignments.
Example Staff Assignments Results:
Field Documentation:
Name | Aeries Table.Column | Description |
AssignmentType | N/A | "certificated" or "classified". This is used to distinguish between the two distinct Aeries tables where these data are stored. |
EndDate | STJ.ED, STA.ED | The end date of the assignment |
FullTimePercentage | STJ.FTE, STA.PT | The full-time employment percentage attributed to this assignment |
ID | STJ.ID, STA.ID | The Aeries District Staff ID |
JobClassificationCode | STJ.JC, STA.JC | The job classification code for this assignment. |
NonClassroomBasedJobAssignmentCode1 | STJ.NC1 | The first non classroom based job assignment code. This is used for certificated, non-teaching assignments. |
NonClassroomBasedJobAssignmentCode2 | STJ.NC2 | The second non classroom based job assignment code. This is used for certificated, non-teaching assignments. |
NonClassroomBasedJobAssignmentCode3 | STJ.NC3 | The third non classroom based job assignment code. This is used for certificated, non-teaching assignments. |
NonClassroomBasedJobAssignmentCode4 | STJ.NC4 | The fourth non classroom based job assignment code. This is used for certificated, non-teaching assignments. |
NonClassroomBasedJobAssignmentCode5 | STJ.NC5 | The fifth non classroom based job assignment code. This is used for certificated, non-teaching assignments. |
NonClassroomBasedJobAssignmentCode6 | STJ.NC6 | The sixth non classroom based job assignment code. This is used for certificated, non-teaching assignments. |
NonClassroomBasedJobAssignmentCode7 | STJ.NC7 | The seventh non classroom based job assignment code. This is used for certificated, non-teaching assignments. |
SchoolCode | STJ.SCL, STA.SCL | The Aeries school code associated with this assignment |
SequenceNumber | STJ.SQ, STA.SQ | The Sequence Number forms part of the primary key. It has no independent meaning. |
StartDate | STJ.SD, STA.SD | The start date of the assignment. |
Staff Assignments - Create ↑
Security Area:
- "Staff Job Assignments" - Insert
- "Staff Assignments (Classified)" - Insert
URL(s):
- POST /api/v5/staff/{StaffID}/assignments
- StaffID (required) – the Aeries district Staff ID
Notes:
- After a successful request, this end point returns HTTP status code 201, and the response body contains the "StaffJobAssignment" object that was just created.
POST Payload Object:
- “StaffJobAssignmentUpdate” object
“StaffJobAssignmentUpdate” Object Definition:
Name | Data Type | Notes |
AssignmentType | String | REQUIRED The only valid values are "certificated" and "classified". |
JobClassification | String | Max length (certificated): 3. Max length (classified): 2 |
FullTimePercentage | Double | For CA state reporting purposes, should be rounded to the nearest tenth (e.g., 87.5). |
NonClassroomBasedJobAssignment1 | String | Max length: 4. Does not apply to classified assignments. |
NonClassroomBasedJobAssignment2 | String | Max length: 4. Does not apply to classified assignments. |
NonClassroomBasedJobAssignment3 | String | Max length: 4. Does not apply to classified assignments. |
NonClassroomBasedJobAssignment4 | String | Max length: 4. Does not apply to classified assignments. |
NonClassroomBasedJobAssignment5 | String | Max length: 4. Does not apply to classified assignments. |
NonClassroomBasedJobAssignment6 | String | Max length: 4. Does not apply to classified assignments. |
NonClassroomBasedJobAssignment7 | String | Max length: 4. Does not apply to classified assignments. |
SchoolCode | Int16 | |
StartDate | Date | |
EndDate | Date |
Example POST Payload:
Staff Assignments - Update ↑
Security Area:
- "Staff Job Assignments" - Update
- "Staff Assignments (Classified)" - Update
URL(s):
- PUT /api/v5/staff/{StaffID}/assignments/{AssignmentType}/{SequenceNumber}
- StaffID (required) - the Aeries district Staff ID
- AssignmentType (required) - the type of assignment ("certificated" or "classified").
- SequenceNumber (required) - part of the primary key, along with StaffID and AssignmentType. Uniquely identifies an assignment given a staff ID and assignment type.
Notes:
- If the sequence number does not exist, a new record will be created.
- After a successful request, this end point returns the "StaffJobAssignment" object that was just updated or created. If an existing record was updated, the status code will be 200. If a new record was created, the status code will be 201.
- If a property is omitted or null, it will be ignored. An empty string is different from a null value. An empty string willoverwrite an existing value for string type properties.
- Exception: If EndDate is omitted or null, it will be set to null. (It's important to be able to nullify this field, so we need to assume that the intent is to nullify if it's missing.
PUT Payload Object:
- “StaffJobAssignmentUpdate” object
“StaffJobAssignmentUpdate” Object Definition:
The definition is the same that is given with the Staff Assignments - Create documentation, with the following exception:
- AssignmentType is ignored in the body. The AssignmentType from the URL is used instead.
Example PUT Payload:
Staff Assignments - Delete ↑
Security Area:
- "Staff Job Assignments" - Delete
- "Staff Assignments (Classified)" - Delete
URL(s):
- DELETE /api/v5/staff/{StaffID}/assignments/{AssignmentType}/{SequenceNumber}
- StaffID (required) - the Aeries district Staff ID
- AssignmentType (required) - the type of assignment ("certificated" or "classified").
- SequenceNumber (required) - part of the primary key, along with StaffID and AssignmentType. Uniquely identifies an assignment given a staff ID and assignment type.
- DELETE /api/v5/staff/{StaffID}/assignments/startdate/{year}/{month}/{day}/{AssignmentType}
- Delete all assignments for a staff ID with a Start Date on or after a specific date. For example, delete all assignments for the current academic year (2018/07/01).
- StaffID (required) - the Aeries district Staff ID
- year, month, day (required) - the date parts for the start date
- AssignmentType (optional) - limit by the type of assignment ("certificated" or "classified")
Notes:
- After a successful request, an empty response with HTTP status code 204 will be returned.
Staff Data Changes ↑
Security Area:
- "Staff Data"
URL(s):
- /api/v5/StaffDataChanges/{year}/{month}/{day}/{hour}/{minute}
- year, month, day, hour, minute – required – The parts of the Date/Time from which you want to system to return staff with data changes. All parameters are required although 0 is valid for hour and minute. Valid values for "hour" are 0-23. "AM" and "PM" values are invalid
Notes:
- This should be used for advanced interfaces with Aeries where you may be pulling data hourly or daily and want to only get the changes since the last time you pulled data from the Aeries API. After you get the list of staff with changes, you will have to loop through the dataset and call the Staff Information API one record at a time.
Example Staff Data Changes Results:
https://demo.aeries.net/aeries/api/v5/StaffDataChanges/2016/7/1/0/0
Teacher Information ↑
Security Area:
- "Teacher Data"
URL(s):
- /api/v5/schools/{SchoolCode}/teachers/
- /api/v5/schools/{SchoolCode}/teachers/{TeacherNumber}
- SchoolCode (required) – the Aeries School Code. This is normally 1-999.
- TeacherNumber (optional) – the School-Based Aeries Teacher Number.
Notes:
- If Teacher Number is not passed, all teacher records in the given school will be returned.
Example Single Teacher Information Results:
https://demo.aeries.net/aeries/api/schools/994/teachers/605
Field Documentation:
Name | Aeries Table.Column | Description |
DisplayName | TCH.TE | The display name for the teacher that is used throughout the Aeries system. This may be different from the teacher’s actual first and last name. |
EmailAddress | TCH.EM | The teacher’s email address. |
FirstName | TCH.TF | The teacher’s first name |
HighlyQualifiedStatusCode1 | TCH.HQT | For self-contained elementary classroom teachers, the method by which the teacher associated with Staff ID 1 became Highly Qualified |
HighlyQualifiedStatusCode2 | TCH.HQ2 | For self-contained elementary classroom teachers, the method by which the teacher associated with Staff ID 2 became Highly Qualified |
HighlyQualifiedStatusCode3 | TCH.HQ3 | For self-contained elementary classroom teachers, the method by which the teacher associated with Staff ID 3 became Highly Qualified |
InactiveStatusCode | TCH.TG | Any value other than blank indicates that this teacher is inactive. Inactive teachers should have no active class sections and no students. |
LastName | TCH.TLN | The teacher’s last name |
Room | TCH.RM | The teacher’s room number |
SchoolCode | TCH.SC | The Aeries school code |
StaffID1 | TCH.ID | The teacher’s staff ID |
StaffID2 | TCH.ID2 | For team teaching, the 2nd teacher’s staff ID |
StaffID3 | TCH.ID3 | For team teaching, the 3rd teacher’s staff ID |
StateCourseCode | TCH.CB | For elementary schools without a master schedule, this value will be used when reporting course section enrollment to the state. If the school has a master schedule, the value will be taken from the Courses table instead. |
TeacherNumber | TCH.TN | The school-based Aeries teacher number |
ClassCalendarSequenceNumber | TCH.CSQ | Class Calendar Sequence Number - For Elementary without MST |
UserCode1 | TCH.U1 | User Code 1 |
UserCode2 | TCH.U2 | User Code 2 |
UserCode3 | TCH.U3 | User Code 3 |
UserCode4 | TCH.U4 | User Code 4 |
UserCode5 | TCH.U5 | User Code 5 |
UserCode6 | TCH.U6 | User Code 6 |
UserCode7 | TCH.U7 | User Code 7 |
UserCode8 | TCH.U8 | User Code 8 |
For descriptions of the codes, use our “Code Sets” API: ~api/v5/codes/Teachers/{ElementName}
Example:
https://demo.aeries.net/aeries/api/v5/codes/Teachers/HighlyQualifiedStatusCode1
Staff-Teacher Information ↑
Security Area:
- "Teacher Data"
URL(s):
- /api/v5/staff/{StaffID}/teachers
- StaffID (required) – The Aeries District Staff ID (numeric).
Notes:
- This end point will return a list of teacher records associated with the given Staff ID.
Example Staff-Teacher Information Results:
https://demo.aeries.net/aeries/api/v5/staff/994605/teachers
Field Documentation:
(Same as Teacher Information field documentation above)