---
title: "Create Accrual Policy"
method: POST
path: "/accrualPolicy"
---

# Create Accrual Policy

`POST /accrualPolicy`

## Request body

- object
  - `companyID` string, required — ID of the company
  - `policy_code` string, required — Unique code to assign to this policy
  - `policy_type` string, required — Type of the accrual policy (accepts: pto, sick_leave, or custom)
  - `policy_name` string — Custom name that can be assigned for the policy
  - `policy_effective_date` string, date — The effective start date of the policy
  - `accrual_rate_hours` number, float, required — The rate at which employees will accrue hours
  - `accrual_period_hours` number, float, required — The number of hours employees need to work to accrue accrual_rate_hours
  - `immediate_balance` number, float — The initial or immediate hour balance of policy
  - `include_doubletime` boolean, required — Include if doubletime work is eligible for hour accrual
  - `include_overtime` boolean, required — Include if overtime work is eligible for hour accrual
  - `accrual_waiting_period` number, float — The number of hours the employees need to work before they are eligible to begin accruing time for policy
  - `accrual_cap` number, float — The maximum number of hours an employee can accrue within a policy year. Once this limit is reached, no additional hours will accrue until the next accrual period or `rollover_date`.
  - `rollover_cap` number, float — The maximum number of unused hours an employee is allowed to carry over from one policy year to the next on the specified rollover date.
  - `rollover_date` string, date — Required if user passes a value for `rollover_cap` or `accrual_cap`
  - `balance_cap` number, float — The maximum balance an employee is allowed to hold under this policy

## Response `200`

200

- object
  - `success` boolean
  - `data` object
    - `companyID` string
    - `policy_type` string
    - `policy_name` string
    - `policy_code` string
    - `policy_effective_date` string
    - `accrual_rate_hours` number
    - `accrual_period_hours` integer
    - `immediate_balance` integer
    - `include_doubletime` boolean
    - `include_overtime` boolean
    - `accrual_waiting_period` integer
    - `accrual_cap` integer
    - `rollover_cap` integer
    - `rollover_date` string
    - `policy_status` string

## Other responses

- `400` — 400

---

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