This library provides an easy-to-use interface for interacting with the ElternPortal system, a platform for school-parent communication in Germany.
- Authentication: Securely log in to the ElternPortal system
- Kid Management: Set and retrieve information about children linked to the account
- School Information: Fetch various details about the school
- Announcements: Get updates from the school's bulletin board (Schwarzes Brett)
- Calendar: Retrieve school events and schedules
- Parent Letters: Access and download parent letters (Elternbriefe)
- Lost and Found: View items in the lost and found section
- Exam Schedules: Get the dates of upcoming exams
- Substitute Plan: Check for changes of the timetable
pnpm i @philippdormann/elternportal-apiimport { getElternportalClient } from "@philippdormann/elternportal-api";
const client = await getElternportalClient({
short: "schoolcode",
username: "your_username",
password: "your_password",
kidId: 0, // Optional
});const kids = await client.getKids();const schoolInfo = await client.getSchoolInfos();const posts = await client.getSchwarzesBrett(includeArchived);const events = await client.getTermine(fromDate, toDate);const timetable = await client.getStundenplan();const lostItems = await client.getFundsachen();const letters = await client.getElternbriefe();const bulletinFile = await client.getSchwarzesBrettFile(fileId);
const letterFile = await client.getElternbrief(letterId);const examSchedule = await client.getSchulaufgabenplan();const substitutePlan = await client.getVertretungsplan();The library includes TypeScript definitions for various data structures:
SchoolInfoTermin(Calendar Event)Elternbrief(Parent Letter)SchwarzesBrettBox(Bulletin Board Item)ElternportalFileVertretungsplan