Deel: Create time-off request — request body — body data
Create time-off request: request body, field body / data. Complete fields and constraints for contract 2026-10-27.
API reference · Contract 2026-10-27
SDK schema: Create time-off request — request body — body data
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | The time off request data |
contract_oid | string or null | Optional | Contract id. This is the id of the contract associated with the time off request. Maximum length: 24 |
custom_field_values | array or null | Optional | Answers to the custom fields the request policy declares, addressed by custom field id. |
custom_field_values[] | Model | Each item | Expand Create time-off request — request body — body data custom field values item |
dates | array | Optional | The dates breakdown for the time off request. |
dates[] | Model | Each item | Expand Create time-off request — request body — body data dates item |
deduction_amount | string or null | Optional | Deduction amount. Available for independent contractor’s policies |
description | string or null | Optional | Description of the time off request. Some policies require that a description is provided. Maximum length: 500 |
end_date | Model | Required within parent | Expand Create time-off request — request body — body data end date End date of the time off request. This is the date when the time off ends. For example, if you take 2 days off, this will be the end date of the second day. |
event_details | Model | Optional | Expand Create time-off request — request body — body data event details Details of the event associated with the time off request. Required for event based policies such as parental leave. |
is_paid | boolean | Optional | Whether the time off is paid or unpaid. By default it follows the policy configuration. |
other_type_description | string or null | Optional | Description of the time off type. This is used when the policy is OTHER. Maximum length: 255 |
policy_id | string | Optional | The time off policy id. Can be used in place of time_off_type_id Format: uuid |
reason | string or null | Optional | Reason for taking time off. This is complementary information for the time-off description. Useful to provide sub categories for the same policy. Maximum length: 500 |
recipient_profile_id | string | Required within parent | The hris profile id of the recipient Format: uuid |
start_date | Model | Required within parent | Expand Create time-off request — request body — body data start date Start date of the time off request. This is the date when the time off starts. For example, if you take 2 days off, this will be the start date of the first day. |
status | string | Optional | Status for the time off request. When set to REQUESTED, the time off should be reviewed later through POST /time_offs/review. Default: APPROVED One of: REQUESTED, APPROVED |
time_off_event_id | string | Optional | The time off event id. This is used to link the time off request to an event. Format: uuid |
time_off_percentage | number or null | Optional | This is the percentage of time off taken. This is used when the time off request is a percentage. Format: double Maximum: 1 Minimum: 0 |
time_off_type_id | string | Optional | The time off type id. Required when policy_id is not provided Format: uuid |
use_deel_approval_flow | boolean | Optional | Whether to use Deel’s approval flow for this time off request. If set to true, the time off request will go through Deel’s approval flow instead of being handled through the public-api review time-off endpoint. Default: false |
Referenced models: Create time-off request — request body — body data custom field values item, Create time-off request — request body — body data dates item, Create time-off request — request body — body data end date, Create time-off request — request body — body data event details, Create time-off request — request body — body data start date