Retrieve a list

Returns a filtered list of activity durations.

Tip

Check the Swagger page for more technical information on the endpoints.

Endpoint details

GET
https://<tenant>.myprotime.eu/connector/protimeapi/api/v1/activity-durations

Headers: Authorization: Bearer {token}, User-Agent: {agent} Scope: connector-protimeapi-activity-durations.read

Response properties

Field Type Required Writable Description
changeVersion string — Read-only Property to indicate the order of changes.
id integer — Read-only Unique identifier for the activity duration.
person.id integer — Read-only Unique identifier of the person linked to this duration.
date string — Read-only Date of the activity duration (YYYY-MM-DD).
durationInMinutes integer — Read-only Duration in minutes for the activity.
activityLevels.level integer — Read-only A list of levels in the activity structure of the registered activity definition.
activityLevels.activityDefinition.id string — Read-only Unique identifier for the activity definition registered.
shiftDefinition.id integer — Read-only Unique identifier for the shift definition, if a shift is linked to the duration.
absenceDefinition.id integer — Read-only Unique identifier for the absence definition, if an absence is linked to the duration.
counterDefinitions.id integer — Read-only A list of unique identifiers for the counter definitions or multiple definitions, if one or more counters are linked to this duration.
request.id string — Read-only Unique identifier for the request, if the duration was requested.
status string — Read-only Status of the activity duration (Unknown, Auto, Manual).
isAuthorized boolean — Read-only Indicates if the activity duration is authorized.

Filters

Filter Type Description
person Optional Internal person IDs (person in (1, 2, 3)), or the current members of circles (person in circle(2, 8)) or org-groups (person in org-group(121, 122)). When omitted, all people are returned.
date Required Date range (required with max of 1 year range)

Note

  • The person filter cannot be combined with delta. A request with both returns 400 Bad Request.
  • With a person filter, results are paged per 100 people. If the people matched by the filter change between pages (for example, a circle or org-group membership change), the next page returns 409 Conflict; restart from the first request.

Check the Fetching Resources page on how to use the filter.

External references

The endpoint supports predefined and custom external references. See the external references page for details.

The following collections are supported for this endpoint:

Collection Predefined Custom
people @badge-number, @employee-number Supported
activity-definitions @data-entry-code, @external-reference Supported
absence-definitions @absence-code Supported
counter-definitions @counter-code Supported
shift-definitions @shift-code Supported

Error responses

Status Condition
400 Invalid filter syntax, unknown filter field, or a person filter combined with delta
401 Missing or invalid access token, or insufficient scope
409 The people matched by the person filter changed between pages
414 Request URI too long (filter + continuation token)

Examples

Filter on date range with external reference

Example with a date range and the employee number as the external reference for people:

GET
https://<tenant>.myprotime.eu/connector/protimeapi/api/v1/activity-durations?filter=date ge '2025-01-01' and date le '2026-01-01'&externalReferences=(people,@employee-number)

Filter on people and date range with multiple external references

Example with a filter on a few people, a date range and multiple external references:

GET
https://<tenant>.myprotime.eu/connector/protimeapi/api/v1/activity-durations?filter=person in (1,2,3) and date ge '2025-01-01' and date le '2025-01-05'&externalReferences=(people,@employee-number)(activity-definitions,@data-entry-code)(absence-definitions,@absence-code)(counter-definitions,@counter-code)