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> |
|