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
personfilter cannot be combined withdelta. A request with both returns400 Bad Request. - With a
personfilter, 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 returns409 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)