Zum Hauptinhalt springen

Jahresauswertung 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/yearsScopeevaluations:read

GET /api/v1/evaluations/years liefert für jeden Mitarbeiter das Arbeitszeitkonto eines Jahres – Übertrag aus dem Vorjahr, Über- und Minusstunden des Jahres, Kontostand – und das Urlaubskonto mit Anspruch, Resturlaub, genommenen, geplanten und noch verfügbaren Tagen. Die Werte entsprechen der Jahresauswertung und der Urlaubsübersicht in TimeMonkey. Benötigter Scope: evaluations:read (Berechtigung Auswertungen).

  • Das Jahr darf nicht in der Zukunft liegen. Das laufende Jahr zählt bis heute.
  • Enthalten sind nur Mitarbeiter, die in diesem Jahr ausgewertet werden: ab Vertragsbeginn bis zum Austritt.
  • Enthalten sind aktive und inaktive Mitarbeiter.
  • Die Einträge sind nach employeeId sortiert.
Rechenintensive Abfrage

TimeMonkey berechnet das ganze Jahr bei jedem Abruf vollständig neu. Den Stand des Kontos im laufenden Monat bekommst du auch über die Monatsauswertung (accountMs).

  • Rufe die Jahresauswertung höchstens einmal täglich ab; für die meisten Zwecke genügt einmal pro Woche.
  • 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
yearjaGanzzahlJahr, zum Beispiel 2026. Nicht in der Zukunft
employeeIdneinIDNur dieser Mitarbeiter
limitneinGanzzahl 1–500Einträge pro Seite, höchstens. Standard: 100
cursorneinStringWert von nextCursor aus der vorherigen Antwort

Antwortfelder​

Stunden sind Dauern in Millisekunden (siehe Dauern), Urlaub wird in Tagen angegeben, auf zwei Nachkommastellen gerundet.

FeldTypBeschreibung
yearGanzzahlJahr
employeeIdStringID des Mitarbeiters
throughDatum YYYY-MM-DDLetzter eingerechneter Tag. Im laufenden Jahr ist das heute, sonst der 31. Dezember
carryoverMsZahlStundenübertrag aus dem Vorjahr
balanceMsZahlÜber- bzw. Minusstunden des Jahres bis through (Summe der Monatssalden)
accountMsZahlArbeitszeitkonto am Ende von through = carryoverMs + balanceMs
vacationObjektUrlaubskonto, Felder siehe unten

Felder von vacation:

FeldBeschreibung
annualDaysUrlaubsanspruch des Jahres
carryoverDaysResturlaub aus dem Vorjahr
carryoverExpiresOnVerfallsdatum des Resturlaubs (YYYY-MM-DD) oder null. Eine Elternzeit kann den Verfall verschieben; angegeben ist das wirksame Datum
usedDaysBis heute genommene Urlaubstage aus dem Jahresanspruch
usedCarryoverDaysBis heute genommene Urlaubstage aus dem Resturlaub
scheduledDaysAb morgen eingetragene Urlaubstage aus dem Jahresanspruch
scheduledCarryoverDaysAb morgen eingetragene Urlaubstage aus dem Resturlaub
availableDaysNoch verfügbare Tage aus dem Jahresanspruch
availableCarryoverDaysNoch verfügbarer Resturlaub; 0 nach dem Verfallsdatum

Gezählt werden nur bezahlte, genehmigte Urlaubstage; ein halber Tag zählt 0.5. Urlaub verbraucht zuerst den Resturlaub, solange er nicht verfallen ist.

Beispiel​

Terminal
curl -s "https://api.time.monkeymed.de/api/v1/evaluations/years?year=2026&limit=500" \
-H "Authorization: Bearer $TIMEMONKEY_API_KEY"
200 OK
{
"data": [
{
"year": 2026,
"employeeId": "650a1b2c3d4e5f6071829304",
"through": "2026-11-09",
"carryoverMs": 36000000,
"balanceMs": 10800000,
"accountMs": 46800000,
"vacation": {
"annualDays": 30,
"carryoverDays": 4,
"carryoverExpiresOn": "2026-03-31",
"usedDays": 22,
"usedCarryoverDays": 4,
"scheduledDays": 5,
"scheduledCarryoverDays": 0,
"availableDays": 3,
"availableCarryoverDays": 0
}
}
],
"nextCursor": null
}

Im Beispiel hat die Mitarbeiterin 10 Überstunden aus 2025 übernommen und 2026 bis zum 9. November 3 weitere aufgebaut; ihr Konto steht bei 13 Stunden. Von 30 Urlaubstagen hat sie 22 genommen und 5 für Dezember eingetragen, 3 sind noch frei. Die 4 Resturlaubstage aus dem Vorjahr hat sie vor dem Verfall Ende März genommen.