Leave Requests

Create, approve and track time off

GET/api/v1/leave-requests

List leave requests

Returns leave requests for the authenticated user (or all if admin).

Parameters

Parameters

NameTypeInDescription
statusstringquery
user_idstring(uuid)queryFilter by user (admin only)
curl https://api.offly.net/api/v1/leave-requests \
  -H "Authorization: Bearer YOUR_API_KEY"
Try it

Do not use production API keys on shared devices. Keys are stored in memory only.

POST/api/v1/leave-requests

Create a leave request

Creates a new leave request for the authenticated user.

Request body

FieldTypeDescription
leave_type_id*string(uuid)
start_date*string(date)
end_date*string(date)
start_half_daystring
end_half_daystring
notestring

Response

FieldTypeDescription
idstring(uuid)
user_idstring(uuid)
leave_type_idstring(uuid)
statusstring
start_datestring(date)
end_datestring(date)
start_half_daystring| null
end_half_daystring| null
total_daysnumber
notestring| null
created_atstring(date-time)
curl -X POST https://api.offly.net/api/v1/leave-requests \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Try it

Do not use production API keys on shared devices. Keys are stored in memory only.

GET/api/v1/leave-requests/{id}

Get a leave request

Parameters

Parameters

NameTypeInDescription
id*string(uuid)path

Response

FieldTypeDescription
idstring(uuid)
user_idstring(uuid)
leave_type_idstring(uuid)
statusstring
start_datestring(date)
end_datestring(date)
start_half_daystring| null
end_half_daystring| null
total_daysnumber
notestring| null
created_atstring(date-time)
curl https://api.offly.net/api/v1/leave-requests/{id} \
  -H "Authorization: Bearer YOUR_API_KEY"
Try it

Do not use production API keys on shared devices. Keys are stored in memory only.

PATCH/api/v1/leave-requests/{id}

Edit a leave request

Edits a pending leave request.

Parameters

Parameters

NameTypeInDescription
id*string(uuid)path

Request body

FieldTypeDescription
start_datestring(date)
end_datestring(date)
start_half_daystring| null
end_half_daystring| null
notestring

Response

FieldTypeDescription
idstring(uuid)
user_idstring(uuid)
leave_type_idstring(uuid)
statusstring
start_datestring(date)
end_datestring(date)
start_half_daystring| null
end_half_daystring| null
total_daysnumber
notestring| null
created_atstring(date-time)
curl -X PATCH https://api.offly.net/api/v1/leave-requests/{id} \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Try it

Do not use production API keys on shared devices. Keys are stored in memory only.

POST/api/v1/leave-requests/{id}/cancel

Cancel a leave request

Cancels a pending or approved leave request.

Parameters

Parameters

NameTypeInDescription
id*string(uuid)path

Response

FieldTypeDescription
idstring(uuid)
user_idstring(uuid)
leave_type_idstring(uuid)
statusstring
start_datestring(date)
end_datestring(date)
start_half_daystring| null
end_half_daystring| null
total_daysnumber
notestring| null
created_atstring(date-time)
curl -X POST https://api.offly.net/api/v1/leave-requests/{id}/cancel \
  -H "Authorization: Bearer YOUR_API_KEY"
Try it

Do not use production API keys on shared devices. Keys are stored in memory only.