---
title: "Return all policies in the organization"
method: GET
path: "/v1/org/{orgId}/timeoff/policy"
tags: ["timeOffPolicy"]
---

# Return all policies in the organization

`GET /v1/org/{orgId}/timeoff/policy`

## Path parameters

- `orgId` string, required

## Query parameters

- `limit` integer
- `from` string

## Response `200`

successful operation

- ResultsTimeOffPolicy
  - `data` TimeOffPolicy[], required
    - `id` string, required — Globally unique id of time off policy
    - `orgId` string, required — Org that the time off belongs to
    - `name` string, required — Internal policy name
    - `displayName` string — External policy name displayed to users
    - `description` string — Policy description
    - `guidelines` string — Policy guidelines
    - `type` 'PTO' | 'TOIL' | 'VACATION' | 'SICK' | 'MEDICAL' | 'JURY' | 'OFFSITE' | 'PARENTAL' | 'UNPAID' | 'DISABILITY_SHORT' | 'DISABILITY_LONG' | 'BEREAVEMENT' | 'MILITARY' | 'RELIGIOUS' | 'VOTING' | 'VOLUNTEER' | 'UNKNOWN' — Type of policy to be created
    - `status` 'ACTIVE' | 'INACTIVE', required — Status of the policy
    - `allocationType` 'UPFRONT' | 'UNLIMITED' | 'ACCRUAL' — Whether the time off is accrued, received upfront, or is an unlimited policy
    - `annualAllocation` number — Number of days allocated annually
    - `accrualConfig` AccrualConfig
      - `frequency` 'SEMI_MONTHLY' | 'MONTHLY' | 'WEEKLY', required
      - `monthlyDaysOfMonth` integer[]
      - `weeklyStartDate` string, date
      - `weeklyIncrement` integer
      - `balanceCapInWholeDays` integer
      - `accrualOffsetFromStartDate` integer, required
    - `maxConsecutiveDaysPerRequest` number — An optional max number of days allowed per request
    - `minBalance` number — An optional minimum balance
    - `enableCarryOverBalance` boolean — Enable carry over balance.
    - `maxCarryOverBalance` number — An optional maximum carry over balance
    - `carryOverExpirationDate` string — Month and day of carry over expiration.
    - `carryOverExpirationMonths` integer — Months after carry over date that carry over expires.
    - `enablePartialDayRequests` boolean — Allow half day requests
    - `partialDayGranularity` number — Partial day requests can only be made down to this level of granularity (i.e. request % granularity == 0)
    - `enablePartialDayPeriod` boolean — Allow specifying periods of time (e.g. AM, PM) for partial days
    - `disableRequests` boolean — Whether to disable time off requests for this policy
    - `noteRequired` boolean — Whether a note is required for time off requests
    - `filter` string, required — CQL used to determine which jobs the policy applies to
    - `holidayCalendarId` string — an associated holiday calendar, days on this calendar are not deducted from the time off balance
    - `respectPersonCalendar` boolean — when true, a holiday calendar applied to the person via calendar eligibility takes precedence over this policy's holidayCalendarId
    - `disableProratedAllocation` boolean — whether limited allocation policies are prorated based on person start date
    - `prorationRounding` 'UP' | 'NEAREST' | 'HALF' — rounding method for prorating calculations
    - `yearStartDate` string — Month and day of policy year rollover. Defaults to January 1.
    - `policyFromDate` string, date — The date on which this policy's balance/accrual settings come into effect. The policy may have entries before this date, but it will not generate e.g. accrual entries.
    - `policyUntilDate` string, date — The first date after this policy's balance/accrual settings end (i.e. the exclusive end date). The policy may have entries after this date, but it will not generate e.g. accrual entries.
    - `workDays` string[] — Days of the week that count against the time off balance. Defaults to Monday through Friday if not set.
    - `policyEvents` PolicyEvent[]
      - `dateExpr` string, required
      - `action` PolicyAction, required
        - `type` 'OPEN' | 'CLOSE' | 'MOD_ALLOCATION' | 'ADJUST' | 'TRANSFER' | 'PRORATED_MOD' | 'FULL_MOD', required
        - `exprString` string
      - `noteExpr` string
      - `groupId` string
      - `title` string — Display name for the milestone group this event belongs to
    - `createId` string — created by user id
    - `createBehalfId` string — created on behalf of user id
    - `createAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
    - `createAt` string — created timestamp
    - `updateAt` string — updated timestamp
    - `updateId` string — updated by user id
    - `updateBehalfId` string — last updated on behalf of user id
    - `updateAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
    - `deleteId` string — deleted by user id
    - `deleteBehalfId` string — deleted on behalf of user id
    - `deleteAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
    - `deleteAt` string — deleted timestamp
  - `next` string
  - `access` ResultsAccess[]
    - `ids` string[]
    - `allowed` AccessAction[], required
      - `action` string, required
      - `fields` string[]
      - `types` string[]

## Other responses

- `400` — bad request
- `401` — not authorized
- `404` — not found

---

[API](https://skmtc.net/charthop/apis/charthop-api.md) · [All operations](https://skmtc.net/charthop/apis/charthop-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/charthop/charthop-api/revisions/50a1edd6b27e/schema)
