latestOpenAPI 3.0.1Proprietary2026-08-1844131294.9 KB

59cd6443fdbf

Time Offs

List time off requests

Search and list time off requests with pagination and filtering capabilities.

This endpoint allows you to:

  • Retrieve time off requests for specific employees
  • Filter by status (draft, pending approval, approved, etc.)
  • Filter by date ranges
  • Filter by time off types
  • Sort results by various fields
  • Paginate through large result sets
get/v1/timeoffs

Query parameters

pageinteger
Example:1

Page number (1-indexed)

pageSizeinteger
Example:20

Number of items per page

employeeIdstring uuid

Filter time offs by employee ID (will be resolved to employment ID internally)

statusstring[]

Filter by time off status (can specify multiple)

startDateFromstring date

Filter time offs starting from this date (inclusive)

startDateTostring date

Filter time offs starting before this date (inclusive)

typeIdstring[]

Filter by time off type IDs (can specify multiple)

sortBy'startDate' | 'createdOn' | 'updatedOn' | 'noOfDays'

Field to sort by

sortOrder'ASC' | 'DESC'

Sort direction

Response

Time off requests retrieved successfully

allCountinteger

Total count of all time offs (regardless of filters)

pendingCountinteger

Count of time offs pending approval

approvedCountinteger

Count of approved time offs

Example response

{
  "timeOffs": [
    {
      "timeOffId": "660e8400-e29b-41d4-a716-446655440003",
      "status": "APPROVED",
      "startDate": {
        "date": "2025-11-15",
        "session": "FULL_DAY"
      },
      "endDate": {
        "date": "2025-11-15",
        "session": "FULL_DAY"
      },
      "noOfDays": 6,
      "description": "Family vacation",
      "type": {
        "typeId": "550e8400-e29b-41d4-a716-446655440001",
        "key": "annual"
      },
      "createdOn": "2025-10-23T10:30:00Z",
      "updatedOn": "2025-10-23T10:30:00Z"
    }
  ],
  "page": {
    "page": 1,
    "pageSize": 20,
    "totalCount": 100,
    "totalPages": 5
  },
  "allCount": 150,
  "pendingCount": 10,
  "approvedCount": 120
}