Tba
A Time Tracking (formerly timerecording, German: Zeiterfassung) represents time an account recorded for its party. It is either standalone or booked through a Process Feed entry or a user task feed entry, and can be linked to a Property and classified by a feed category.
Access and Visibility
| Role | Description |
|---|---|
| Account with "Zeiterfassung" | Can access their own time trackings |
| Account with "Zeiterfassung Administration" | Can additionally access the time trackings of all accounts of their party |
Duration
duration is the recorded time in seconds and always matches the time between startedAt and endedAt. How these values come about depends on how the time was recorded:
| Recorded as | startedAt | endedAt | duration |
|---|---|---|---|
| Time range | Entered start (swapped with the end if it lies after it) | Entered end | endedAt - startedAt |
| Duration on a Process Feed entry | Creation date of the entry, moves along when that date changes | startedAt + duration | Entered duration, adds up when further time is booked on the entry |
| Duration on a user task feed entry | Moment of booking | startedAt + duration | Entered duration, adds up when further time is booked on the entry |
Searching Time Trackings
Always restrict the time rangeParties that record time on a daily basis accumulate a large number of time trackings over the years. Requesting them without a time range has to count the entire history of the party, which can take several seconds. Therefore, the list endpoint
GET /api/time-trackingsis not suitable for larger parties.Instead, use
POST /api/time-trackings/searchand always passstartedFromandendedUntil, limited to the period you actually need (e.g. a week or a month). A single bound is not enough, as it leaves the time range open towards the past or the future.
{
"startedFrom": "2026-10-01T00:00:00Z",
"endedUntil": "2026-10-31T23:59:59Z"
}⇒ Returns the time trackings that start on or after 2026-10-01 and end on or before 2026-10-31.
Further filters such as accountId, propertyId, processId or feedCategoryId narrow the results down further, but do not replace the time range.
