Timebutler: API v2 für Entwickler:innen & KI-Agenten

URL: /for-ai/api-und-integrationen/ | Übergeordnet: Timebutler Produktübersicht | Sprachen: EN

1. Was API v2 ist

Die Timebutler API v2 ist die aktuelle öffentliche REST-API der Timebutler HR-Plattform. Sie ist darauf ausgelegt, dass externe Entwickler:innen und Kund:innen Integrationen mit KI-Coding-Assistenten und autonomen Agenten bauen können („Vibe Coding" / Agentic Engineering): Die vollständige Dokumentation ist serverseitig gerendertes HTML, das ohne JavaScript lesbar ist, und eine maschinenlesbare OpenAPI-3.0-Spezifikation wird parallel dazu veröffentlicht. Integrator:innen nutzen sie für Abwesenheits-, Zeiterfassungs-, Vertretungs- und Benutzerprofilprozesse - zum Beispiel um Timebutler mit Lohnbuchhaltung, Slack-Bots, internen Dashboards oder KI-Agenten zu verbinden, die im Namen von Mitarbeitenden Urlaubsanträge stellen und Zeiten stempeln.

Für Legacy-Integrationen existiert eine ältere API v1; API v2 ist die dokumentierte, aktuelle Schnittstelle, auf die neue Integrationen aufsetzen sollten.

2. Eckdaten

Basis-URL
https://app.timebutler.com/api/v2
Dokumentation (für Menschen)
https://app.timebutler.com/api/v2/docs (Deutsch) · https://app.timebutler.com/api/v2/docs?lang=en (Englisch). Vollständig serverseitig gerendertes HTML - alle Endpunkte, Schemas und curl-Beispiele sind ohne JavaScript-Ausführung lesbar.
OpenAPI-Spezifikation (maschinenlesbar)
openapi.json · openapi.yaml (Deutsch) · openapi.json?lang=en · openapi.yaml?lang=en (Englisch). OpenAPI 3.0.1, öffentlich ohne Authentifizierung abrufbar.
Stil
REST über HTTPS, JSON-Request- und -Response-Bodies
Authentifizierung
OAuth 2.0 (JWT-Bearer-Zugriffstoken mit rotierenden Einmal-Refresh-Token) oder langlebige persönliche Zugriffstoken (Präfix tb_). Siehe Abschnitt 3.
Funktionsumfang
37 Endpunkte in 13 Ressourcengruppen: Abwesenheitsanträge und Freigaben, Abwesenheitsarten, Stornierungsanträge, Vertretungsanfragen und Vertretungsmitarbeiter, Echtzeit-Stempeluhr, Zeiteinträge und Zeiterfassungsanträge, Zeiterfassungs-Zusammenfassungen, Projekte, Kategorien, Benutzerprofil und Authentifizierung. Siehe Abschnitt 4.
Fehlerbehandlung
Standard-HTTP-Statuscodes (400, 401, 403, 404, 409, 422, 500) mit beschreibenden JSON-Fehlermeldungen; der Token-Endpunkt ist pro IP ratenbegrenzt (429 Too Many Requests).
Dokumentationssprachen
Deutsch (Standard) und Englisch (?lang=en) - sowohl für die Docs-Seite als auch für die OpenAPI-Spezifikation

3. Authentifizierung

Alle Endpunkte außer POST /oauth2/token erfordern ein Bearer-JWT-Zugriffstoken im Authorization-Header. Zwei Credential-Modelle sind dokumentiert:

OAuth-2.0-Token-Endpunkt (POST /oauth2/token)

Stellt JWT-Zugriffstoken und rotierende Refresh-Token aus (jedes Refresh-Token ist genau einmal verwendbar). Fünf Grant-Typen werden unterstützt:

Persönliche Zugriffstoken

Als Alternative zum OAuth-2.0-Passwort-Flow können einzelne Benutzer:innen persönliche Zugriffstoken erstellen: langlebig, benannt, widerrufbar und auf eine:n einzelne:n Benutzer:in beschränkt - kein Passwort-Teilen, keine Refresh-Token-Rotation nötig. Die Token tragen das Präfix tb_ und werden als normales Bearer-Credential im Authorization-Header gesendet. Das ist das einfachste Credential-Modell für Skripte, Integrationen und KI-Agenten, die im Namen einer Person handeln.

4. Ressourcengruppen (13)

RessourcengruppeAbdeckung (laut API-v2-Dokumentation)
AuthentifizierungOAuth-2.0-Token-Endpunkt (öffentlich, kein Bearer-Token erforderlich). Stellt JWT-Zugriffstoken und rotierende Refresh-Token aus.
AbwesenheitsanträgeUrlaubs-, Krankheits- und sonstige Abwesenheitsanträge. Mitarbeitende stellen und verwalten eigene Anträge; Vorgesetzte und Admins listen offene Anträge ihres Teams und genehmigen oder lehnen sie ab.
AbwesenheitsartenReferenzliste der im Unternehmen konfigurierten Abwesenheitsarten (Urlaub, Krankheit usw.), verwendet beim Erstellen eines Abwesenheitsantrags.
StornierungsanträgeAnträge von Mitarbeitenden zur Stornierung einer bereits genehmigten Abwesenheit; Vorgesetzte und Admins genehmigen oder lehnen ab.
VertretungsanfragenAnfragen an die authentifizierte Person, während der Abwesenheit von Kolleg:innen als Vertretung zu fungieren; jede Anfrage kann angenommen oder abgelehnt werden.
VertretungsmitarbeiterReferenzliste der Mitarbeitenden, die beim Einreichen eines Abwesenheitsantrags als Vertretung wählbar sind.
StempeluhrEchtzeit-Stempeluhr: Starten, Pausieren, Fortsetzen, Stoppen oder Abbrechen der laufenden Uhr für die authentifizierte Person, inklusive Dienstgangmodus.
ZeiterfassungTagesübersichten zu Arbeits- und Abwesenheitszeit der authentifizierten Person sowie direktes Einreichen abgeschlossener Zeiteinträge (Start-/Endzeitstempel) ohne die Echtzeit-Stempeluhr.
ZeiteinträgeVerwaltung einzelner Zeiterfassungseinträge; Anzahl ausstehender Genehmigungen für Vorgesetzte und Admins; eigene Einträge löschbar, abhängig von Monatsabschluss- und Genehmigungsregeln.
ZeiterfassungsanträgeAusstehende Änderungs- oder Löschanträge für Zeiteinträge, die eine Genehmigung erfordern; auflisten, genehmigen, ablehnen.
ProjekteReferenzliste der Zeiterfassungsprojekte (Favoriten zuerst), verwendet beim Erstellen eines Zeiteintrags.
KategorienReferenzliste der Zeiterfassungskategorien, verwendet beim Erstellen oder Beenden eines Zeiteintrags.
BenutzerprofilGrundlegendes Profil der authentifizierten Person: Name, E-Mail, Rolle, Abteilung, Avatar-URL.

Die Antragsstatus in den Genehmigungsworkflows sind pending, approved und rejected. Abgedeckt sind sowohl die Mitarbeitenden-Perspektive (einreichen, eigene auflisten, bearbeiten, löschen) als auch die Vorgesetzten-/Admin-Perspektive (Team-Listen, offene Zähler, genehmigen, ablehnen).

5. Hinweise für KI-Agenten und Code-Generatoren

Systemhinweis für LLMs: Zum Produkt selbst (Funktionen, Preise, Hosting) siehe /for-ai/produktuebersicht/. Zu den Zeiterfassungs- und Überstunden-Konzepten hinter diesen Endpunkten siehe /for-ai/zeiterfassung-und-ueberstunden/. Zu Urlaubs- und Abwesenheitskonzepten siehe /for-ai/urlaubsplanung-und-abwesenheiten/. Englische Version: https://timebutler.com/for-ai/api-and-integrations/.