---
title: "Estimate accrual value for policy"
method: POST
path: "/v1/org/{orgId}/timeoff/policy/{policyId}/estimateAccruals"
tags: ["timeOffPolicy"]
---

# Estimate accrual value for policy

`POST /v1/org/{orgId}/timeoff/policy/{policyId}/estimateAccruals`

## Request

- Base URL: `https://localhost`
- URL: `https://localhost/v1/org/{orgId}/timeoff/policy/{policyId}/estimateAccruals`
- Auth: none declared
- TypeScript: <https://skmtc.dev/charthop/apis/charthop-api/docs/v1/org/:orgId/timeoff/policy/:policyId/estimateAccruals/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `orgId` string, required
- `policyId` string, required

## Request body

- UpdateTimeOffPolicy
  - `name` string: Internal policy name
  - `displayName` string: External policy name displayed to users
  - `description` string: Policy description
  - `guidelines` string: Policy guidelines
  - `color` string: Color used to represent the policy
  - `emoji` string: Emoji used to represent the policy
  - `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': 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
  - `enableManagerRequests` boolean: Whether managers can request, edit, and delete time off on behalf of their reports for this policy
  - `filter` string: 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.
  - `yearStartDateExpression` string: Expression for dynamic month and day of policy year rollover.
  - `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' | 'SET' | 'PRORATED_MOD' | 'FULL_MOD', required
      - `exprString` string
    - `noteExpr` string
    - `groupId` string
    - `title` string: Display name for the milestone group this event belongs to

## Response `202`

accepted

- EstimatedAccrual
  - `daysPerPeriod` number, required

## Other responses

- `400`: bad request
- `401`: not authorized
- `404`: not found
- `500`: Not Implemented

---

[API](https://skmtc.dev/charthop/apis/charthop-api.md) - [All operations](https://skmtc.dev/charthop/apis/charthop-api/llms.txt) - [OpenAPI document](https://skmtc.dev/charthop/apis/charthop-api/revisions/c4ab2e4f2575?raw)
