List all time off requests (absences / holidays)
team:time-off.readhttps://api.holded.com/api/v2/employees/time-offsReturns time off requests (absences, holidays, vacations, sick leave, etc.) across all employees in the account, ordered by start date descending. The `start_date_from` / `start_date_to` range is required.
Parameters
Query parameters
stringoptionalintegeroptional= 50string<date>requiredStart date lower bound (YYYY-MM-DD)
string<date>requiredStart date upper bound (YYYY-MM-DD)
stringoptionalFilter by status
"pending""accepted""rejected""cancelled"stringoptionalFilter by absence / time off type (e.g. holiday, sick leave, vacation)
stringoptionalFilter by team
Request
import requests
url = "https://api.holded.com/api/v2/employees/time-offs?cursor=value&limit=50&start_date_from=2026-01-01"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
}
response = requests.get(url, headers=headers)
print(response.json())Responses
Response
{
"items": [
{
"id": "507f1f77bcf86cd799439011",
"employee_id": "507f1f77bcf86cd799439012",
"time_off_type_id": "507f1f77bcf86cd799439013",
"time_off_type_name": "Vacation",
"start_date": "2026-06-01",
"end_date": "2026-06-05",
"status": "pending",
"days": "5"
}
],
"cursor": "string",
"has_more": true
}Success responses
200List of time off requestsapplication/jsonUnique identifier of the time off request
Identifier of the employee. Null when assigned to a workplace.
Identifier of the time off type
Name of the time off type
Start date of the absence (YYYY-MM-DD, Europe/Madrid)
End date of the absence (YYYY-MM-DD, Europe/Madrid). Null for single-day requests.
Current approval status
pendingacceptedrejectedcancelledNumber of days consumed (as a decimal string)
Opaque cursor pointing to the next page. Pass as `cursor` in the next request. Null when there is no next page.
Whether more pages are available after this one
Error responses
400Bad requestapplication/json401Invalid or missing API keyapplication/json403Insufficient permissionsapplication/json429Rate limit exceededapplication/json