Skip to main content
GET

List all time off requests (absences / holidays)

Scope:team:time-off.read
https://api.holded.com/api/v2/employees/time-offs

Returns 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

cursorstringoptional
limitintegeroptional= 50
start_date_fromstring<date>required

Start date lower bound (YYYY-MM-DD)

start_date_tostring<date>required

Start date upper bound (YYYY-MM-DD)

statusstringoptional

Filter by status

"pending""accepted""rejected""cancelled"
time_off_type_idstringoptional

Filter by absence / time off type (e.g. holiday, sick leave, vacation)

team_idstringoptional

Filter by team

Request

python
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

json
{
  "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/json
object
items[]object[]
idstring

Unique identifier of the time off request

employee_idstring | null

Identifier of the employee. Null when assigned to a workplace.

time_off_type_idstring | null

Identifier of the time off type

time_off_type_namestring | null

Name of the time off type

start_datestring<date>

Start date of the absence (YYYY-MM-DD, Europe/Madrid)

end_datestring<date> | null

End date of the absence (YYYY-MM-DD, Europe/Madrid). Null for single-day requests.

statusstring | null

Current approval status

Enum:pendingacceptedrejectedcancelled
daysstring

Number of days consumed (as a decimal string)

cursorstring | null

Opaque cursor pointing to the next page. Pass as `cursor` in the next request. Null when there is no next page.

has_moreboolean

Whether more pages are available after this one

Error responses

400Bad requestapplication/json
401Invalid or missing API keyapplication/json
403Insufficient permissionsapplication/json
429Rate limit exceededapplication/json