---
title: "Creates a Policy"
method: POST
path: "/api/2026-10-01/resources/timeoff/policies"
tags: ["Timeoff > Policy"]
---

# Creates a Policy

`POST /api/2026-10-01/resources/timeoff/policies`

## Request

- Base URL: `https://api.factorialhr.com`
- URL: `https://api.factorialhr.com/api/2026-10-01/resources/timeoff/policies`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://id.factorialhr.com/oauth/authorize`
    - Token URL: `https://id.factorialhr.com/api/oauth/token` scopes: `time_off`
  - API key in header `x-api-key`

Creates a Policy

## Request body

- object
  - `name` string, required: The name of the policy.
  - `main` boolean: If the policy is the main policy.
  - `description` string: Policy description.
  - `company_id` string: Company ID.
  - `based_on_policy_id` string: ID of an existing policy to copy. When set, the new policy is created with a copy of that policy's allowances and no employees assigned. Omit it to create a policy from scratch.

## Response `201`

CREATED

- TimeoffPolicy
  - `id` string, required: The policy id.
  - `name` string, required: Policy name.
  - `main` boolean: Whether this is the company's main (default) time off policy — the one employees fall under unless assigned a specific policy.
  - `company_id` string, required: ID of the company that owns this policy.
  - `description` string: The policy description.

## Changes

- **2026-11-03** `83ac9aa1de50`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/factorialhr/apis/factorial-api/changes/api/2026-10-01/resources/timeoff/policies/post.md)

---

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