Create an absence
Records a new absence for an employee.
Availability: Full version and ZEP Clock
Request
curl --request POST \
--url 'https://www.zep-online.de/zepinstanz/next/api/v1/absences' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"employee_id": "max.mustermann",
"type": 0,
"hours": 1.5,
"from": "string",
"to": "string",
"timezone": "Asia/Oral",
"note": "Familienurlaub",
"planned": true,
"start_date": "2024-01-15T00:00:00.000000Z",
"end_date": "2024-01-16T00:00:00.000000Z",
"absence_reason_id": "UB"
}'Request body
- Name
employee_id- Type
- string, required
- Description
Username of the employee this absence is recorded for.
- Name
type- Type
- integer, nullable
- Description
Whether the absence spans a full day, a half day or a number of hours.
One of:
0,1,2
- Name
hours- Type
- number, nullable
- Description
Number of hours absent, required for an hourly absence.
- Name
from- Type
- string, nullable
- Description
Time the hourly absence starts, required for an hourly absence.
- Name
to- Type
- string, nullable
- Description
Time the hourly absence ends, required for an hourly absence.
- Name
timezone- Type
- string, nullable
- Description
Timezone the hourly absence’s from/to times are expressed in.
- Name
note- Type
- string, nullable
- Description
Free-text note attached to the absence.
- Name
planned- Type
- boolean, nullable
- Description
Whether the absence is only planned rather than already approved.
- Name
start_date- Type
- string (date-time), required
- Description
First calendar day the absence covers.
- Name
end_date- Type
- string (date-time), required
- Description
Last calendar day the absence covers.
- Name
absence_reason_id- Type
- string, required
- Description
Identifier of the absence reason (vacation, illness, …) this absence is filed under.
Response
{
"data": {
"id": 1,
"employee_id": "max.mustermann",
"type": 0,
"start_date": "2024-01-15T00:00:00.000000Z",
"end_date": "2024-01-16T00:00:00.000000Z",
"hours": 1.5,
"from": "string",
"to": "string",
"note": "Familienurlaub",
"approved": true,
"timezone": "Asia/Oral",
"created": "2024-07-20T11:30:00.000000Z",
"modified": "2024-07-20T12:30:00.000000Z",
"absence_reason_id": "UB",
"absenceReason": {
"name": "EU",
"comment": "Elternurlaub|en:Parental leave",
"approve": true,
"allow_self_entry": true,
"allow_half_day_holiday": 1,
"allow_hours_of_vacation": 1,
"anyone_can_see_name": true,
"color": "#664599",
"type": {
"id": 1,
"name": "annual holiday"
},
"client_calendar_category": "string",
"inform_employee_upon_approval_or_revocation": 1,
"external_id": "string",
"created": "2024-07-20T11:30:00.000000Z",
"modified": "2024-07-20T12:30:00.000000Z"
},
"leaveApprovalApplication": {
"id": 1,
"employee_id": "max.mustermann",
"requested_at": "2024-01-10 13:04:34",
"number_of_days": 1.5,
"start_date": "2024-01-15T00:00:00.000000Z",
"end_date": "2024-01-16T00:00:00.000000Z",
"note": "Familienurlaub",
"status": {
"id": 1,
"name": "Requested"
},
"recipient": "vorgesetzter@beispiel.de",
"recipient_cc": "personal@beispiel.de",
"recipient_bcc": "string",
"status_edited_since": "2024-01-11 10:30:00",
"status_edited_by": "vorgesetzter.nutzer",
"status_note": "Genehmigt - Schönen Urlaub!",
"absence_text": "Urlaubsantrag für Familienausflug"
}
}
}Response fields
- Name
id- Type
- integer
- Description
Unique identifier of the absence.
- Name
employee_id- Type
- string
- Description
Username of the employee this absence belongs to.
- Name
type- Type
- integer
- Description
Whether the absence spans a full day, a half day or a number of hours.
One of:
0,1,2
- Name
start_date- Type
- string (date-time), nullable
- Description
First calendar day the absence covers.
- Name
end_date- Type
- string (date-time), nullable
- Description
Last calendar day the absence covers.
- Name
hours- Type
- number, nullable
- Description
Number of hours absent, only set for an hourly absence.
- Name
from- Type
- string, nullable
- Description
Time the hourly absence starts, only set for an hourly absence.
- Name
to- Type
- string, nullable
- Description
Time the hourly absence ends, only set for an hourly absence.
- Name
note- Type
- string, nullable
- Description
Free-text note attached to the absence.
- Name
approved- Type
- boolean
- Description
Whether the absence has been approved rather than merely planned.
- Name
timezone- Type
- string, nullable
- Description
Timezone the absence’s from/to times are expressed in.
- Name
created- Type
- string (date-time), nullable
- Description
Timestamp the absence was recorded.
- Name
modified- Type
- string (date-time), nullable
- Description
Timestamp the absence was last modified.
- Name
absence_reason_id- Type
- string
- Description
Identifier of the absence reason (vacation, illness, …) this absence is filed under.
- Name
absenceReason- Type
- object (AbsenceReason)
- Description
The absence reason this absence is filed under.
- Name
absenceReason.name- Type
- string
- Description
Unique short code identifying the reason; also its route key.
- Name
absenceReason.comment- Type
- string, nullable
- Description
Free-text note shown alongside the reason in the calendar and reports.
- Name
absenceReason.approve- Type
- boolean, nullable
- Description
Whether a booking with this reason needs approval before it counts.
- Name
absenceReason.allow_self_entry- Type
- boolean
- Description
Whether employees may book this reason themselves without going through a supervisor.
- Name
absenceReason.allow_half_day_holiday- Type
- integer, nullable
- Description
Whether this reason can be booked for half a day instead of only full days.
- Name
absenceReason.allow_hours_of_vacation- Type
- integer, nullable
- Description
Whether this reason can be booked in individual hours instead of only whole days.
- Name
absenceReason.anyone_can_see_name- Type
- boolean, nullable
- Description
Whether colleagues who did not book the absence can still see this reason’s name.
- Name
absenceReason.color- Type
- string
- Description
Colour used to highlight bookings of this reason in the calendar.
- Name
absenceReason.type- Type
- object, nullable
- Description
The category of absence this reason represents, e.g. annual holiday, paid or unpaid absence, flexitime or homeoffice.
- Name
absenceReason.client_calendar_category- Type
- string, nullable
- Description
Category this reason maps onto in an external calendar synced from the client.
- Name
absenceReason.inform_employee_upon_approval_or_revocation- Type
- integer, nullable
- Description
Whether the employee is emailed when a booking of this reason is approved or revoked.
- Name
absenceReason.external_id- Type
- string, nullable
- Description
Identifier used to map this reason onto the matching absence type in a connected external system.
- Name
absenceReason.created- Type
- string (date-time), nullable
- Description
Timestamp the reason was created.
- Name
absenceReason.modified- Type
- string (date-time), nullable
- Description
Timestamp the reason was last modified.
- Name
leaveApprovalApplication- Type
- object (LeaveApprovalApplication)
- Description
The leave-approval application this absence went through, if the tenant requires absences to be approved before they take effect.
- Name
leaveApprovalApplication.id- Type
- integer
- Description
Unique identifier of the leave-approval application.
- Name
leaveApprovalApplication.employee_id- Type
- string
- Description
Username of the employee who requested the leave.
- Name
leaveApprovalApplication.requested_at- Type
- string (date-time), nullable
- Description
Timestamp the leave request was submitted.
- Name
leaveApprovalApplication.number_of_days- Type
- number
- Description
Number of days the requested leave covers.
- Name
leaveApprovalApplication.start_date- Type
- string (date-time), nullable
- Description
First calendar day of the requested leave.
- Name
leaveApprovalApplication.end_date- Type
- string, nullable
- Description
Last calendar day of the requested leave.
- Name
leaveApprovalApplication.note- Type
- string
- Description
Free-text note attached to the leave request.
- Name
leaveApprovalApplication.status- Type
- object
- Description
Current approval status of the leave request (e.g. pending, approved, rejected).
- Name
leaveApprovalApplication.recipient- Type
- string
- Description
Primary recipient the approval request was sent to.
- Name
leaveApprovalApplication.recipient_cc- Type
- string
- Description
Additional recipients the approval request was copied to.
- Name
leaveApprovalApplication.recipient_bcc- Type
- string
- Description
Additional recipients blind-copied on the approval request.
- Name
leaveApprovalApplication.status_edited_since- Type
- string (date-time), nullable
- Description
Timestamp since which the current status has been in effect.
- Name
leaveApprovalApplication.status_edited_by- Type
- string
- Description
Username of who last changed the approval status.
- Name
leaveApprovalApplication.status_note- Type
- string
- Description
Free-text note left when the approval status was last changed.
- Name
leaveApprovalApplication.absence_text- Type
- string
- Description
Rendered text summarizing the requested absence, as shown to approvers.