Zum Hauptinhalt springen

Tagesauswertung abrufen

Beta Die REST-API ist in der Beta. Endpunkte und Felder können sich bis zur Version 1.0.0 noch ändern.

GET/api/v1/evaluations/daysScopeevaluations:read

GET /api/v1/evaluations/days liefert für jeden Mitarbeiter und Tag die Zeilen der Monatsauswertung: vertragliche Arbeitszeit, bewertete Arbeitszeit, Gutschriften für Abwesenheiten und Feiertage, vertraglich abgegoltene Überstunden und den Tagessaldo. TimeMonkey rechnet dafür mit genau derselben Logik wie die Auswertung in der App; die Werte stimmen mit der Monatsauswertung überein. Benötigter Scope: evaluations:read (Berechtigung Auswertungen).

  • Enthalten sind Tage mit vertraglicher Arbeitszeit, Arbeitszeit, Stempeln, einer geplanten Schicht oder einer Abwesenheit. Tage ohne all das (zum Beispiel ein freier Samstag) fehlen.
  • Enthalten sind aktive und inaktive Mitarbeiter.
  • Die Einträge sind nach employeeId, dann date sortiert.
  • Der Zeitraum darf höchstens 92 Tage umfassen, und to darf nicht in der Zukunft liegen. Der heutige Tag ist erlaubt.
  • Vor Vertragsbeginn, nach dem Austritt und während einer Elternzeit mit pausiertem Arbeitszeitkonto zählen die Tage wie in der App nicht: Alle Stundenwerte sind dann 0.

Monatssaldo und Arbeitszeitkonto liefert die Monatsauswertung, Übertrag und Urlaubskonto die Jahresauswertung.

Rechenintensive Abfrage

TimeMonkey berechnet die Werte bei jedem Abruf vollständig neu. Diese Abfrage ist deshalb deutlich aufwendiger als etwa das Abrufen von Stempeln.

  • Frage nur die Zeiträume und Mitarbeiter ab, die du brauchst, und speichere die Ergebnisse bei dir.
  • Eine Seite kann weniger Einträge als limit enthalten, weil die Rechenzeit pro Seite begrenzt ist. Folge immer nextCursor, bis er null ist.
  • Bitte beachte die Hinweise zur fairen Nutzung.

Parameter​

NamePflichtTypBeschreibung
fromjaDatum YYYY-MM-DDErster Tag des Zeitraums (inklusive, Europe/Berlin)
tojaDatum YYYY-MM-DDLetzter Tag des Zeitraums (inklusive, Europe/Berlin). Höchstens 92 Tage, nicht in der Zukunft
employeeIdneinIDNur Tage dieses Mitarbeiters
limitneinGanzzahl 1–500Einträge pro Seite, höchstens. Standard: 100
cursorneinStringWert von nextCursor aus der vorherigen Antwort

Antwortfelder​

Alle Zeiten sind Dauern in Millisekunden (siehe Dauern).

FeldTypBeschreibung
dateDatum YYYY-MM-DDKalendertag in Europe/Berlin
employeeIdStringID des Mitarbeiters
contractMsZahlVertragliche Arbeitszeit des Tages (Spalte „Vertragliche Arbeitszeit“ der Monatsauswertung)
workedMsZahlBewertete Arbeitszeit (Spalte „Arbeitszeit“) nach Pausen, gesetzlichem Pausenabzug, Start-/Endzeit-Begrenzung und Arbeitszeitpauschale, mindestens 0. Die Arbeitszeitpauschale (dailyDeductionMs) ist bereits enthalten; nicht erneut addieren. An Feiertagen hängt der Wert von der Feiertagseinstellung ab.
creditMsZahlSumme der bezahlten Gutschriften des Tages, zum Beispiel für Feiertag, Krankheit oder Urlaub
compensatedOvertimeMsZahlVertraglich abgegoltene Überstunden nach der Tagesregel. Eine Monatsregel wirkt erst auf den ganzen Monat und steht nur in der Monatsauswertung.
balanceMsZahlTagessaldo = workedMs + creditMs − contractMs − compensatedOvertimeMs
dailyDeductionMsZahlAngewandte Arbeitszeitpauschale, bereits in workedMs enthalten; 0 an Tagen ohne Arbeitszeit
breakMsZahlPausen des Tages. Bei automatischem Pausenabzug und geplanten Pausen kann der Wert auch ohne Stempel größer als 0 sein.
legalBreakMsZahlAbzug für gesetzliche Pausen. Nur wenn die automatische Berücksichtigung gesetzlicher Pausen in den Einstellungen aktiv ist, sonst 0
plannedMsZahlGeplante Arbeitszeit laut veröffentlichtem Schichtplan (auch verbundener Standorte) nach Arbeitszeitpauschale und gesetzlichem Pausenabzug; 0 ohne geplante Schicht
startZeitpunkt oder nullBeginn der Arbeitszeit (ISO 8601, UTC); null ohne Stempel
endZeitpunkt oder nullEnde der Arbeitszeit (ISO 8601, UTC); null, solange der Tag unvollständig ist
incompleteBooleantrue bei einer ungeraden Anzahl von Stempeln, zum Beispiel wenn das Ausstempeln fehlt. Der Tag enthält dann noch keine bewertete Arbeitszeit
holidayObjekt oder nullFeiertag am Standort bzw. eingetragener Feiertag mit name (oder null); sonst null
absencesListeAbwesenheiten und Gutschriften des Tages (Spalte „Sonstiges“), nur genehmigte. Felder siehe unten
accountPausedBooleantrue bei Elternzeit mit pausiertem Arbeitszeitkonto; alle Stundenwerte sind dann 0

Ein Eintrag in absences:

FeldTypBeschreibung
typeStringArt wie bei Abwesenheiten, zum Beispiel Vacation, Sickness oder Holiday
paidBooleantrue, wenn der Tag bezahlt ist und deshalb gutgeschrieben wird
durationMsZahlStunden des Eintrags an diesem Tag. Bei bezahlten Einträgen ist das die Gutschrift, die in creditMs enthalten ist
daysZahl1 oder 0.5 bei einem halben Tag
Abwesenheitsart mit evaluations:read

Wie die Spalte „Sonstiges“ der Monatsauswertung nennt absences die Art der Abwesenheit, also zum Beispiel auch Krankheit. Diese Angabe ist mit dem Scope evaluations:read abrufbar, auch ohne absences:read. Freitext, Notizen, Dateien und Angaben zu Kindern liefert die Tagesauswertung nicht.

Beispiel​

Terminal
curl -s "https://api.time.monkeymed.de/api/v1/evaluations/days?from=2026-10-01&to=2026-10-31&employeeId=650a1b2c3d4e5f6071829304&limit=500" \
-H "Authorization: Bearer $TIMEMONKEY_API_KEY"
200 OK
{
"data": [
{
"date": "2026-10-19",
"employeeId": "650a1b2c3d4e5f6071829304",
"contractMs": 28800000,
"workedMs": 30600000,
"creditMs": 0,
"compensatedOvertimeMs": 0,
"balanceMs": 1800000,
"dailyDeductionMs": 0,
"breakMs": 1800000,
"legalBreakMs": 0,
"plannedMs": 27000000,
"start": "2026-10-19T06:00:00.000Z",
"end": "2026-10-19T15:00:00.000Z",
"incomplete": false,
"holiday": null,
"absences": [],
"accountPaused": false
},
{
"date": "2026-10-20",
"employeeId": "650a1b2c3d4e5f6071829304",
"contractMs": 28800000,
"workedMs": 0,
"creditMs": 28800000,
"compensatedOvertimeMs": 0,
"balanceMs": 0,
"dailyDeductionMs": 0,
"breakMs": 0,
"legalBreakMs": 0,
"plannedMs": 27000000,
"start": null,
"end": null,
"incomplete": false,
"holiday": null,
"absences": [
{"type": "Sickness", "paid": true, "durationMs": 28800000, "days": 1}
],
"accountPaused": false
}
],
"nextCursor": null
}

Im Beispiel hat die Mitarbeiterin am 19. Oktober von 08:00 bis 17:00 Uhr deutscher Zeit (06:00 bis 15:00 UTC) mit 30 Minuten Pause gearbeitet, also 8,5 Stunden bei 8 Stunden Soll: Tagessaldo +30 Minuten. Am 20. Oktober war sie krank; die bezahlte Krankheit wird mit 8 Stunden gutgeschrieben, der Tagessaldo ist 0.