# Absence requests

Absence Requests API

## Create an absence request.

 - [POST /leave/request/v1/create](https://developers.calamari.dev/remote/calamari-public-openapi/absence-requests/createabsencerequest.md): Create an absence request.Expect error codes:INVALID_ABSENCE_TIME - when invalid absence time providedINVALID_ABSENCE_ALLOWANCE - when employee absence allowance is not enoughINVALID_HIRE_DATE - when employee hire date is invalidREQUESTING_RULES_VIOLATED - when requesting rules violatedINVALID_APPROVAL_FLOW - when approval flow is not configuredINVALID_ABSENCE_TYPE - when invalid absence type providedINVALID_REASON - when invalid reason providedINVALID_SUBSTITUTE - when invalid substitute providedINVALID_COMMENT - when invalid comment providedINVALID_TIME_PART - when invalid time part providedINVALID_ATTACHMENTS_REQUIRED - when attachments are required

## Create comment for chosen request.

 - [POST /leave/request/v1/create-comment](https://developers.calamari.dev/remote/calamari-public-openapi/absence-requests/createcomment.md): Create comment for chosen request.Expect error codes:INVALID_EMPLOYEE - when invalid employee id providedINVALID_CONTENT - when invalid content providedINVALID_REQUEST - when invalid absence request provided

## Find absence requests of employee in dates range.

 - [POST /leave/request/v1/find](https://developers.calamari.dev/remote/calamari-public-openapi/absence-requests/findabsencerequests.md): Find absence requests of employee in dates range.Expect error codes:INVALID_EMPLOYEE - when invalid employee id providedINVALID_DATE_FROM - when invalid date from in filter providedINVALID_DATE_TO - when invalid date to in filter provided

## Find absence requests with advanced filtering by several parameters.

 - [POST /leave/request/v1/find-advanced](https://developers.calamari.dev/remote/calamari-public-openapi/absence-requests/findabsencerequestsadvanced.md): Find absence requests in dates range. If you provide more than one value in one filter attribute there is OR relation between them.  For instance: if you put in a filter: {employees: ["john@mycompany.com", "kevin@mycompany.com"]} it returns all John's and all Kevin's requests.When you fill more than one attribute in filter all conditions have to be fulfilled. There is AND relation between attributes. For instance: if you provide in filter {absenceTypes: ["PTO"], teams: ["DevTeam"]} then will be returned PTO requests of employees who are in team DevTeam.Expect error codes:INVALID_DATE_FROM - when invalid time in filter providedINVALID_DATE_TO - when invalid time in filter providedINVALID_EMPLOYEE - when one of provided employees is invalidINVALID_ABSENCE_TYPE - when one of provided absence types is invalidINVALID_TEAM - when one of provided teams is invalidINVALID_POSITION - when one of provided positions is invalidINVALID_CONTRACT_TYPE - when one of provided contract types is invalidINVALID_CREATE_DATE_FROM - when invalid time in filter providedINVALID_CREATE_DATE_TO - when invalid time in filter providedINVALID_CREATE_UPDATE_FROM - when invalid time in filter providedINVALID_CREATE_UPDATE_TO - when invalid time in filter provided

## Remove chosen absence request.

 - [POST /leave/request/v1/remove](https://developers.calamari.dev/remote/calamari-public-openapi/absence-requests/removerequest.md): Remove chosen absence request.Expect error codes:INVALID_REQUEST - when invalid absence request provided

