Webhooks

Subscribes to change events for the hours to validate requests 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 and connector-protimeapi-hours-to-validate.read

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 (hours-to-validate-requests).

Event properties

Field Type Required Writable Description
changeVersion string — Read-only Property to indicate the order of changes.
id string — Read-only Unique identifier (GUID) for the hours to validate request.
person.id integer — Read-only Internal ID of the person the request applies to.
date string — Read-only Date the requested hours are registered on (YYYY-MM-DD).
durations array — Read-only The durations covered by the request.
durations[].id integer — Read-only Identifier of the requested duration.
durations[].startTimeInMinutes integer — Read-only Start time of the requested duration (minutes since midnight, between -1440 and 2880). Omitted when the duration is not bound to a start time.
durations[].endTimeInMinutes integer — Read-only End time of the requested duration (minutes since midnight, between -1440 and 2880). Omitted when the duration is not bound to an end time.
durations[].durationInMinutes integer — Read-only Requested duration, in minutes.
durations[].originalDurationInMinutes integer — Read-only Duration before the request was raised, in minutes.
status string — Read-only Status of the request. Possible values: Uninitialized, Requested, Deleted, Approved, Refused. An approved request results in a validated hours record.
requested.person.id integer — Read-only Internal ID of the person who raised the request. This can differ from person.id.
requested.requestedAt string — Read-only Date and time the request was raised (ISO 8601 format).
isStale boolean — Read-only Indicates that the request is based on hours to validate that have since been recalculated to a different amount. A stale request can no longer be approved or refused, only deleted.
conversation array — Read-only Comments exchanged on the request. Omitted when no comments were made.
conversation[].person.id integer — Read-only Internal ID of the person who made the comment.
conversation[].commentedAt string — Read-only Date and time the comment was made (ISO 8601 format).
conversation[].comment string — Read-only Text of the comment.

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

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 webhookKey and validUntil in the response body.

Examples

Creating a webhook for hours to validate requests

POST
https://<tenant>.myprotime.eu/connector/protimeapi/api/v1/webhooks

{
    "destinationUrl": "https://www.fictional-customer.com/protime/hours-to-validate-requests",
    "collectionName": "hours-to-validate-requests"
}

Related pages