Untis Mobile API Reference - SapuSeven/BetterUntis GitHub Wiki
This reference is still work-in-progress.
All data provided in this reference is the result of analyzing network traffic of the original app.
There is no guarantee about the accuracy of this information.
Field types marked with ? are optional and can be null.
Methods
getAppSharedSecret
Parameters
| Name |
Type |
Description |
| userName |
String |
The user name of the user |
| password |
String |
The password of the user (same as in the web version of Untis) |
Response
| Name |
Type |
Description |
| result |
String |
Contains the login secret required for authenticated API requests |
getExams2017
Parameters
| Name |
Type |
Description |
| id |
Int |
The ID of the target element (usually a student or teacher) |
| type |
String |
The type of the target element (usually STUDENT or TEACHER) |
| startDate |
UntisDate |
The start date of the desired exam range |
| endDate |
UntisDate |
The end date of the desired exam range |
| auth |
UntisAuth |
Authentication |
Response
| Name |
Type |
Description |
| result |
ExamResult |
Contains the requested exams |
getHomeWork2017
Parameters
| Name |
Type |
Description |
| id |
Int |
The ID of the target element (usually a student) |
| type |
String |
The type of the target element (usually STUDENT) |
| startDate |
UntisDate |
The start date of the desired homework range |
| endDate |
UntisDate |
The end date of the desired homework range |
| auth |
UntisAuth |
Authentication |
Response
| Name |
Type |
Description |
| result |
HomeworkResult |
Contains the requested homework |
getOfficeHours2017
Parameters
| Name |
Type |
Description |
| klasseId |
Int |
The target class ID |
| startDate |
UntisDate |
Start date for the office hours |
| auth |
UntisAuth |
Authentication |
Response
getStudentAbsences2017
Parameters
| Name |
Type |
Description |
| startDate |
UntisDate |
The start date of the desired absence range |
| endDate |
UntisDate |
The end date of the desired absence range |
| includeExcused |
Boolean |
Include excused absences |
| includeUnExcused |
Boolean |
Include unexcused absences |
| auth |
UntisAuth |
Authentication |
Response
| Name |
Type |
Description |
| result |
AbsenceResult |
Contains the requested absences |
getTimetable2017
Parameters
| Name |
Type |
Description |
| id |
Int |
The ID of the target element |
| type |
String |
The type of the target element |
| startDate |
UntisDate |
The start date of the desired timetable range |
| endDate |
UntisDate |
The end date of the desired timetable range |
| masterDataTimestamp |
Long |
(unknown usage) |
| timetableTimestamp |
Long |
(unknown usage) |
| timetableTimestamps |
List<Long> |
(unknown usage) |
| auth |
UntisAuth |
Authentication |
Response
| Name |
Type |
Description |
| result |
TimetableResult |
Contains the requested timetable |
getUserData2017
Parameters
| Name |
Type |
Description |
| auth |
UntisAuth |
Authentication |
Response
| Name |
Type |
Description |
| result |
UserDataResult |
Contains the requested user data |
searchSchool
Parameters
| Name |
Type |
Description |
| search |
String |
Search by school ID, name or address |
| schoolid |
Int |
Search by school ID |
| schoolname |
String |
Search by school name |
All elements are optional.
Response
Data Types
AbsenceResult
| Name |
Type |
Description |
| absences |
List<UntisAbsence> |
A list of all matching absences |
ExamResult
| Name |
Type |
Description |
| id |
Int |
The ID of the target element |
| type |
String |
The type of the target element (usually STUDENT or TEACHER) |
| exams |
List<UntisExam> |
A list of all exams for the target element within the date range specified in the request |
HomeworkResult
| Name |
Type |
Description |
| homeWorks |
List<UntisHomework> |
A list of all homework for the target element within the date range specified in the request |
| lessonsById |
Map<String, UntisHomeworkLesson> |
A map between UntisHomework.lessonId and corresponding subject- klassen- and teacher-ID |
OfficeHoursResult
| Name |
Type |
Description |
| officeHours |
List<UntisOfficeHour> |
A list of all office hours for the target class within the date range specified in the request |
SchoolSearchResult
| Name |
Type |
Description |
| size |
Int |
|
| schools |
List<UntisSchoolInfo> |
A list of all matching school results |
TimetableResult
| Name |
Type |
Description |
| timetable |
UntisTimetable |
The timetable for the date-time range specified in the request |
| masterData |
UntisMasterData |
(unknown usage) |
UserDataResult
| Name |
Type |
Description |
| masterData |
UntisMasterData |
Master data of the authenticated user |
| userData |
UntisUserData |
User data of the authenticated user |
| settings |
UntisSettings |
Miscellaneous settings for the app (not used in BetterUntis) |
| messengerSettings |
UntisMessengerSettings? |
Settings for the Untis Messenger app |
UntisAbsence
| Name |
Type |
Description |
| id |
Int |
Absence element id |
| studentId |
Int |
|
| klasseId |
Int |
|
| startDateTime |
String |
|
| endDateTime |
String |
|
| owner |
Boolean |
|
| excused |
Boolean |
|
| excuse |
UnknownObject? |
|
| absenceReasonId |
Int |
|
| absenceReason |
String |
|
| text |
String |
|
UntisAuth
| Name |
Type |
Description |
| user |
String |
|
| otp |
Long |
|
| clientTime |
Long |
|
UntisDate
UntisExam
| Name |
Type |
Description |
| id |
Int |
|
| examType |
String |
|
| startDateTime |
String |
|
| endDateTime |
String |
|
| departmentId |
Int |
|
| subjectId |
Int |
|
| klasseIds |
List<Int> |
|
| roomIds |
List<Int> |
|
| teacherIds |
List<Int> |
|
| invigilators |
List<UntisInvigilator> |
|
| name |
String |
|
| text |
String |
|
UntisHomework
| Name |
Type |
Description |
| id |
Int |
|
| lessonId |
Int |
|
| startDate |
String |
|
| endDate |
String |
|
| text |
String |
|
| remark |
UnknownObject? |
|
| completed |
Boolean |
|
| attachments |
List<UnknownObject> |
|
UntisHomeworkLesson
| Name |
Type |
Description |
| id |
Int |
The homework ID |
| subjectId |
Int |
The subject the homework is from |
| klassenIds |
List<Int> |
ID list of every related class |
| teacherIds |
List<Int> |
ID list of every related teacher |
UntisInvigilator
| Name |
Type |
Description |
| id |
Int |
|
| startTime |
String |
|
| endTime |
String |
|
UntisMasterData
| Name |
Type |
Description |
| timeStamp |
Long |
|
| absenceReasons |
List<AbsenceReason> |
|
| departments |
List<Department> |
|
| duties |
List<Duty> |
|
| eventReasons |
List<EventReason> |
|
| eventReasonGroups |
List<EventReasonGroup> |
|
| excuseStatuses |
List<ExcuseStatus> |
|
| holidays |
List<Holiday> |
|
| klassen |
List<Klasse> |
|
| rooms |
List<Room> |
|
| subjects |
List<Subject> |
|
| teachers |
List<Teacher> |
|
| teachingMethods |
List<TeachingMethod> |
|
| schoolyears |
List<SchoolYear> |
|
| timeGrid |
TimeGrid |
|
UntisOfficeHour
| Name |
Type |
Description |
| id |
Int |
|
| startDateTime |
String |
|
| endDateTime |
String |
|
| teacherId |
Int |
|
| imageId |
Int |
|
| email |
String? |
|
| phone |
String? |
|
| displayNameRooms |
String |
|
| displayNameTeacher |
String |
|
| registrationPossible |
Boolean |
|
| registered |
Boolean |
|
UntisSchoolInfo
| Name |
Type |
Description |
| server |
String |
|
| useMobileServiceUrlAndroid |
Boolean |
|
| useMobileServiceUrlIos |
Boolean |
|
| address |
String |
|
| displayName |
String |
|
| loginName |
String |
|
| schoolId |
Int |
|
| serverUrl |
String |
|
| mobileServiceUrl |
String |
|
UntisTimetable
| Name |
Type |
Description |
| displayableStartDate |
String |
|
| displayableEndDate |
String |
|
| periods |
List<Period> |
|
UntisUserData
| Name |
Type |
Description |
| elemType |
String? |
|
| elemId |
Int |
|
| displayName |
String |
|
| schoolName |
String |
|
| departmentId |
Int |
|
| children |
List<UnknownObject> |
|
| klassenIds |
List<Int> |
|
| rights |
List<String> |
|