Create a time off policy

Changed on

Creates a time off policy for a company. Set the configuration object that matches accrual_method: annual_grant, per_payroll, or per_hour_worked.

post/time-off/policies

Request

Request body

companystring required

ID of the company the policy belongs to.

namestring required

Name of the policy.

activeboolean

Whether the policy can be assigned to employees. Defaults to true.

earning_type'pto' | 'sick' required

The type of time off the policy manages.

earning_codestring nullable

ID of an earning code whose type matches earning_type. Use this to offer more than one policy of the same earning type.

accrual_method'annual_grant' | 'per_payroll' | 'per_hour_worked' | 'none' required

How hours are accrued on the policy.

accrual_waiting_period_daysinteger

The number of days after the assignment's effective_start before the employee starts accruing hours.

usage_waiting_period_daysinteger

The number of days after the assignment's effective_start before the employee can spend hours.

metadataobject

Additional loosely structured information to associate with the object.

Example request

{
  "company": "com_sx3svU6K8c5ZkSFlOh5p",
  "name": "California Paid Sick Leave",
  "active": true,
  "policy_year": {
    "basis": "fixed_date",
    "date": "01-01"
  },
  "earning_type": "sick",
  "accrual_method": "per_hour_worked",
  "annual_grant": {
    "hours": "40.00",
    "partial_year_method": "prorate"
  },
  "per_payroll": {
    "hours_per_year": "120.00"
  },
  "per_hour_worked": {
    "hours": "1.00",
    "per_hours_worked": "30.00"
  },
  "limits": {
    "min_balance": "0.00",
    "max_rollover": "40.00",
    "max_accrual_per_policy_year": "40.00"
  },
  "usage_waiting_period_days": 90
}

Response

200

idstring

Unique identifier for the policy.

companystring

ID of the company the policy belongs to.

namestring

Name of the policy.

activeboolean

Whether the policy can be assigned to employees. Defaults to true.

earning_type'pto' | 'sick'

The type of time off the policy manages.

earning_codestring nullable

ID of an earning code whose type matches earning_type. Use this to offer more than one policy of the same earning type.

accrual_method'annual_grant' | 'per_payroll' | 'per_hour_worked' | 'none'

How hours are accrued on the policy.

accrual_waiting_period_daysinteger

The number of days after the assignment's effective_start before the employee starts accruing hours.

usage_waiting_period_daysinteger

The number of days after the assignment's effective_start before the employee can spend hours.

metadataobject

Additional loosely structured information to associate with the object.

Example response

{
  "id": "top_4fKq8Wz1mN2pR7sT",
  "company": "com_sx3svU6K8c5ZkSFlOh5p",
  "name": "California Paid Sick Leave",
  "active": true,
  "policy_year": {
    "basis": "fixed_date",
    "date": "01-01"
  },
  "earning_type": "sick",
  "accrual_method": "per_hour_worked",
  "annual_grant": {
    "hours": "40.00",
    "partial_year_method": "prorate"
  },
  "per_payroll": {
    "hours_per_year": "120.00"
  },
  "per_hour_worked": {
    "hours": "1.00",
    "per_hours_worked": "30.00"
  },
  "limits": {
    "min_balance": "0.00",
    "max_rollover": "40.00",
    "max_accrual_per_policy_year": "40.00"
  },
  "usage_waiting_period_days": 90
}

Changes