Time Off
Public API

List Time Off Policy Versions

Changed on

Lists a time off policy's rate-table versions, with each version's milestones inlined. Ordered by effective date descending, most recent first, with a secondary ordering by version id so paging stays stable when two versions share an effective date. Both currently effective and superseded (archived) versions are returned; versions the server discarded when a schedule was re-saved are not. Unlimited and manual policies have no accrual schedule, so they return an empty list.

OAuth Scopes: time_off:policies

get/api/v1/time-off/policies/{id}/versions

Request

Path parameters

idinteger required

The time off policy ID.

Query parameters

filterstring

OData filter expression applied to the policy's versions. Supported operators: eq (equals, use eq null to match NULL), ne (not equals, use ne null to match NOT NULL), lt (less than), le (less than or equal), gt (greater than), ge (greater than or equal), in (value in list), and (combine clauses). Not supported: or, not, parenthesized grouping. Filterable fields: versionId (matches the version id), effectiveDate, status. Examples: status eq 'ARCHIVED', effectiveDate ge '2026-01-01', versionId in (10, 11). Note that a version with no effective date stores a zero date rather than NULL, so effectiveDate eq null never matches.

pageinteger

The page number to retrieve. Rejected when the resulting offset would exceed the largest supported integer.

pageSizeinteger

The number of items to return per page.

Response

A paginated list of the policy's versions.

Example response

{
  "data": [
    {
      "id": 1,
      "policyId": 15,
      "effectiveDate": "2026-01-01",
      "status": "ACTIVE",
      "rateTransitions": "IMMEDIATELY",
      "firstAccrual": "PRORATE",
      "carryOverYmd": "01-01",
      "milestones": [
        {
          "id": 1,
          "accrualBeginsType": "IMMEDIATELY",
          "accrualHours": 6.67,
          "accrualInterval": "MONTHLY",
          "maximumHours": 240,
          "maximumCarryOver": 40
        }
      ],
      "createdAt": "2026-01-01T06:00:00Z",
      "updatedAt": "2026-01-02T17:00:00Z"
    }
  ]
}

Changes