Warum eine API?
Unternehmen arbeiten selten mit nur einem Tool. Lohnsoftware, ERP-Systeme, Intranet-Portale – alle brauchen Zugriff auf Abwesenheitsdaten. Die SL-UP REST-API macht Ihre Urlaubsverwaltung zum zentralen Datenhub, der sich nahtlos in bestehende Infrastruktur einfügt.
Überblick der Möglichkeiten
API-Key Auth
Authentifizierung per API-Key im Header. Keys werden pro Mandant generiert und können jederzeit widerrufen werden.
JSON-Responses
Alle Endpoints liefern strukturierte JSON-Antworten mit konsistentem Format und Fehler-Handling.
Pagination
Große Datenmengen werden paginiert ausgeliefert. Steuerbar über page und per_page Parameter.
Rate-Limiting
60 Requests pro Minute pro API-Key. Response-Header zeigen das verbleibende Kontingent.
Authentifizierung
Jeder API-Request erfordert einen gültigen API-Key im Header X-API-KEY:
API-Keys werden in den Instanz-Einstellungen generiert und sind an den jeweiligen Mandanten gebunden. Ein Key hat nur Zugriff auf Daten des eigenen Mandanten.
Verfügbare Endpoints
Benutzer
GET /api/?endpoint=users– Alle Benutzer auflistenGET /api/?endpoint=users&id={id}– Einzelnen Benutzer abrufenPOST /api/?endpoint=users– Neuen Benutzer anlegenPUT /api/?endpoint=users&id={id}– Benutzer aktualisieren
Abwesenheiten
GET /api/?endpoint=absences– Alle Abwesenheiten (mit Datumsfilter)GET /api/?endpoint=absences&id={id}– Einzelne AbwesenheitPOST /api/?endpoint=absences– Abwesenheit erstellenPUT /api/?endpoint=absences&id={id}– Abwesenheit bearbeitenDELETE /api/?endpoint=absences&id={id}– Abwesenheit löschen
Abteilungen & Feiertage
GET /api/?endpoint=departments– Alle AbteilungenGET /api/?endpoint=holidays– Feiertage und Schulferien
Berichte
GET /api/?endpoint=reports&report=vacation_summary– UrlaubsübersichtGET /api/?endpoint=reports&report=time_tracking– Zeiterfassung
Beispiel: Abwesenheiten abrufen
Tipp: Rate-Limit-Header beachten
Jede API-Response enthält Header mit dem aktuellen Rate-Limit-Status: X-RateLimit-Remaining und X-RateLimit-Reset. Planen Sie Ihre Requests entsprechend, um 429-Fehler zu vermeiden.
Fehlerbehandlung
Die API verwendet Standard-HTTP-Statuscodes:
- 200: Erfolgreiche Anfrage
- 201: Ressource erfolgreich erstellt
- 400: Ungültige Anfrage (Validierungsfehler)
- 401: Nicht authentifiziert (fehlender oder ungültiger API-Key)
- 403: Keine Berechtigung für diese Ressource
- 404: Ressource nicht gefunden
- 429: Rate-Limit überschritten
- 500: Interner Serverfehler
Praxisbeispiel: Kalender-Integration
Das folgende Beispiel zeigt einen typischen Response des GET /api/absences Endpoints mit zwei Einträgen. Dieser Response-Typ eignet sich direkt für den Import in externe Kalender-Systeme:
{
"success": true,
"data": [
{
"id": 101,
"user_id": 7,
"user_name": "Meier, Sandra",
"department": "Vertrieb",
"type": "vacation",
"date_from": "2026-06-02",
"date_to": "2026-06-06",
"status": "approved",
"days": 5,
"note": null
},
{
"id": 102,
"user_id": 12,
"user_name": "Hofmann, Peter",
"department": "IT",
"type": "homeoffice",
"date_from": "2026-06-03",
"date_to": "2026-06-03",
"status": "approved",
"days": 1,
"note": "Kundenprojekt remote"
}
],
"pagination": {
"page": 1,
"per_page": 25,
"total": 2
}
}
Webhook-Alternativen: Push statt Pull
Die SL-UP REST-API arbeitet nach dem Pull-Prinzip: Ihr System fragt regelmäßig neue Daten ab (Polling). Das ist einfach zu implementieren, erzeugt aber bei häufigen Abfragen unnötige Last. Eine Alternative sind Webhooks: Dabei schickt SL-UP aktiv eine HTTP-Anfrage an Ihr System, sobald ein Ereignis eintritt — zum Beispiel wenn ein Urlaub genehmigt wird.
Webhooks eignen sich besonders für zeitkritische Anwendungsfälle wie Slack-Benachrichtigungen oder Echtzeit-Synchronisationen mit HR-Systemen. Der since-Parameter bei GET /api/absences reduziert den Polling-Aufwand bereits erheblich: Sie fragen nur Einträge ab, die sich seit dem letzten Abruf verändert haben.
Use Cases in der Praxis
Lohnbuchhaltungs-Anbindung
Monatlich alle Abwesenheiten per API abrufen und direkt in DATEV oder Lexware importieren. Kein manueller CSV-Download nötig.
Slack-Benachrichtigungen
Neuen Urlaubsantrag per Polling erkennen und automatisch eine Slack-Nachricht an den Manager-Kanal senden.
HR-System-Sync
Benutzer und Abteilungen aus SL-UP mit dem zentralen HR-System synchronisieren. Neue Mitarbeiter automatisch anlegen lassen.
Kalender-Integration
Genehmigte Abwesenheiten in einen freigegebenen Firmenkalender (z.B. Google Calendar) schreiben — vollautomatisch per API.
Häufige Fragen
X-API-KEY mitgegeben.GET /api/absences mit dem since-Parameter, um nur geänderte Einträge seit dem letzten Abruf zu erhalten. Das reduziert den Aufwand erheblich.