Webhooks
Subscribes to change events for the absence instances collection.
Caution
Read the Webhooks page. There is important information on required implementation!
Tip
Check the Swagger page for more technical information on the endpoints.
Endpoint details
POST
https://<tenant>.myprotime.eu/connector/protimeapi/api/v1/webhooks
Headers: Authorization: Bearer {token}, User-Agent: {agent}
Scope: connector-protimeapi-webhooks.write
Body properties
| Field | Type | Required | Writable | Description |
|---|---|---|---|---|
destinationUrl |
string | Yes | Yes | The URL where webhook notifications will be sent. |
collectionName |
string | Yes | Yes | The name of the collection to subscribe to (absences). |
Event 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). |
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 destination URL or unknown collection name |
401 |
Missing or invalid access token, or insufficient scope |
Success response
201 Created with webhook key and validUntil in the response body.
Examples
A webhook for absences
Example for creating a webhook for absences:
POST
https://<tenant>.myprotime.eu/connector/protimeapi/api/v1/webhooks
{
"destinationUrl": "https://www.fictional-customer.com/protime/absences",
"collectionName": "absences"
}