Retrieve a list

Returns a filtered list of absence instances.

Tip

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

Endpoint details

GET
https://<tenant>.myprotime.eu/connector/protimeapi/api/v1/absences

Headers: Authorization: Bearer {token}, User-Agent: {agent} Scope: connector-protimeapi-absences.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 absence instance.
person.id integer — Read-only Internal ID of the person for whom the absence is registered.
resultingAbsenceDefinition.id integer — Read-only Internal ID of the resulting absence definition.
requestedAbsenceDefinition.id integer — Read-only Internal ID of the originally requested absence definition.
shiftDefinition.id integer — Read-only Internal ID of the shift definition for the absence.
date string — Read-only Date of the absence (YYYY-MM-DD).
startTimeInMinutes integer — Read-only Start time of the absence in minutes since midnight.
durationInMinutes integer — Read-only Duration of the absence in minutes.
calculatedDurationInMinutes integer — Read-only Calculated duration of the absence in minutes.
dayPart string — Read-only Part of the day the absence applies to (First, Second, Unknown).
request.id string — Read-only ID of the related absence request, formatted as {TenantId}-{PersonId}-{RequestId}.
status string — Read-only How the absence was registered (Unknown, Manual, Auto, BeginOpen, Open, Terminal, Calendar).
approvalLevel string — Read-only Approval status (Unknown, AwaitingApproval, Approved, NotApproved, NotApprovedByPriorities, NotApprovedByCalculations).
isLocked boolean — Read-only Indicates if the absence is locked and cannot be changed.
periodType string — Read-only Type of period the absence applies to (Unknown, Day, Week, PayPeriod).

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
shift-definitions @shift-code Supported
absence-definitions @absence-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

Example with a date range between the 1st of January 2025 and 1st of January 2026:

GET
https://<tenant>.myprotime.eu/connector/protimeapi/api/v1/absences?filter=date ge '2025-01-01' and date le '2026-01-01'

Filter on people and date range with external reference

Example with people and absence code:

GET
https://<tenant>.myprotime.eu/connector/protimeapi/api/v1/absences?filter=person in (1,2,3) and date ge '2025-01-01' and date le '2026-01-01' &externalReferences=(absence-definitions,@absence-code)