Deel: Retrieve policy validation templates — 200 response body — data policy validation templates item
Retrieve policy validation templates: 200 response body, field data / policy_validation_templates / item. Complete fields and constraints for contract 2026-10-27.
API reference · Contract 2026-10-27
SDK schema: Retrieve policy validation templates — 200 response body — data policy validation templates item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
adoption_date_definition | string | Optional | Rule regarding the requirement of an adoption date for relevant policies. Known values: REQUIRED, OPTIONAL, FORBIDDEN |
allow_approvers_to_request | boolean | Optional | Whether designated approvers can also request time off under this policy. |
allow_estimated_end_date | boolean | Optional | Whether an estimated end date can be provided for the time off request. |
allow_time_off_payment_treatment_upsert | JSON | Optional | |
allow_time_off_payment_treatment_upsert (anyOf 1) | boolean | Alternative | Whether payment treatment details can be updated. |
allow_time_off_payment_treatment_upsert (anyOf 2) | null | Alternative | Whether payment treatment details can be updated. |
allow_to_edit_past_time_offs | boolean | Optional | Whether past time off requests under this policy can be edited. |
attachment_condition | JSON | Optional | Comparison operator if attachment is conditionally required. |
attachment_condition (anyOf 1) | string | Alternative | Comparison operator if attachment is conditionally required. Known values: GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL |
attachment_condition (anyOf 2) | null | Alternative | |
attachment_condition_amount | JSON | Optional | |
attachment_condition_amount (anyOf 1) | JSON | Alternative | |
attachment_condition_amount (anyOf 1) (anyOf 1) | integer | Alternative | Threshold amount for the attachment condition. |
attachment_condition_amount (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
attachment_condition_amount (anyOf 2) | null | Alternative | Threshold amount for the attachment condition. |
attachment_condition_unit | JSON | Optional | Unit for the attachment condition amount. |
attachment_condition_unit (anyOf 1) | string | Alternative | Unit for the attachment condition amount. Known values: YEAR, MONTH, WEEK, DAY, BUSINESS_DAY, CALENDAR_DAY, HOUR |
attachment_condition_unit (anyOf 2) | null | Alternative | |
auto_approval_inactivity_time_unit | JSON | Optional | Unit for the auto-approval inactivity period. |
auto_approval_inactivity_time_unit (anyOf 1) | string | Alternative | Unit for the auto-approval inactivity period. Known values: YEAR, MONTH, WEEK, DAY, BUSINESS_DAY, CALENDAR_DAY, HOUR |
auto_approval_inactivity_time_unit (anyOf 2) | null | Alternative | |
auto_approval_inactivity_time_unit_amount | JSON | Optional | |
auto_approval_inactivity_time_unit_amount (anyOf 1) | JSON | Alternative | |
auto_approval_inactivity_time_unit_amount (anyOf 1) (anyOf 1) | integer | Alternative | Amount for the auto-approval inactivity period. |
auto_approval_inactivity_time_unit_amount (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
auto_approval_inactivity_time_unit_amount (anyOf 2) | null | Alternative | Amount for the auto-approval inactivity period. |
benefits_payer_type | string | Optional | Who pays for the benefits associated with this time off. Known values: ORGANIZATION, GOVERNMENT |
country | JSON | Optional | |
country (anyOf 1) | string | Alternative | Country code associated with this specific template instance, if applicable. Maximum length: 2 Minimum length: 2 Pattern: ^[A-Z]{2}$ |
country (anyOf 2) | null | Alternative | Country code associated with this specific template instance, if applicable. Maximum length: 2 Minimum length: 2 Pattern: ^[A-Z]{2}$ |
default_entitlement_unit_amount | JSON | Optional | |
default_entitlement_unit_amount (anyOf 1) | JSON | Alternative | |
default_entitlement_unit_amount (anyOf 1) (anyOf 1) | number | Alternative | Default amount of entitlement granted per cycle. Format: double |
default_entitlement_unit_amount (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
default_entitlement_unit_amount (anyOf 2) | null | Alternative | Default amount of entitlement granted per cycle. Format: double |
disable_termination_editing | boolean | Optional | Whether editing related to termination is disabled. |
edit_approved_mode | JSON | Optional | Controls edit/cancel permissions on approved time off requests. Supersedes allow_to_edit_past_time_offs. |
edit_approved_mode (anyOf 1) | string | Alternative | Controls edit/cancel permissions on approved time off requests. Supersedes allow_to_edit_past_time_offs. Known values: RESTRICT_FULLY, RESTRICT_BEYOND_CYCLE, NO_RESTRICT |
edit_approved_mode (anyOf 2) | null | Alternative | |
enable_absence_percentage_requests | boolean | Optional | Whether requests can be made as a percentage of the workday. |
enable_accrued_days_for_policy_on_termination_flow | boolean | Optional | Calculate accrued days specifically for this policy during termination. |
enable_high_accuracy_accrued_days_on_termination_flow | boolean | Optional | Use high accuracy calculation for accrued days during termination. |
enable_pay_out_balance | boolean | Optional | Whether unused balance can be paid out. |
enabled_policy_fields | JSON | Optional | |
enabled_policy_fields (anyOf 1) | array | Alternative | List of specific policy fields that are enabled or configurable. |
enabled_policy_fields (anyOf 1)[] | string | Each item | |
enabled_policy_fields (anyOf 2) | null | Alternative | List of specific policy fields that are enabled or configurable. |
enabled_policy_fields (anyOf 2)[] | string | Each item | |
estimated_end_date_client_reminder | JSON | Optional | |
estimated_end_date_client_reminder (anyOf 1) | array | Alternative | Days before estimated end date to remind the client/manager. |
estimated_end_date_client_reminder (anyOf 1)[] | JSON | Each item | |
estimated_end_date_client_reminder (anyOf 1)[] (anyOf 1) | integer | Alternative | |
estimated_end_date_client_reminder (anyOf 1)[] (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
estimated_end_date_client_reminder (anyOf 2) | null | Alternative | Days before estimated end date to remind the client/manager. |
estimated_end_date_client_reminder (anyOf 2)[] | JSON | Each item | |
estimated_end_date_client_reminder (anyOf 2)[] (anyOf 1) | integer | Alternative | |
estimated_end_date_client_reminder (anyOf 2)[] (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
estimated_end_date_worker_reminder | JSON | Optional | |
estimated_end_date_worker_reminder (anyOf 1) | array | Alternative | Days before estimated end date to remind the worker. |
estimated_end_date_worker_reminder (anyOf 1)[] | JSON | Each item | |
estimated_end_date_worker_reminder (anyOf 1)[] (anyOf 1) | integer | Alternative | |
estimated_end_date_worker_reminder (anyOf 1)[] (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
estimated_end_date_worker_reminder (anyOf 2) | null | Alternative | Days before estimated end date to remind the worker. |
estimated_end_date_worker_reminder (anyOf 2)[] | JSON | Each item | |
estimated_end_date_worker_reminder (anyOf 2)[] (anyOf 1) | integer | Alternative | |
estimated_end_date_worker_reminder (anyOf 2)[] (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
id | string | Optional | Unique identifier for the policy validation template. Format: uuid |
include_in_termination_flow | boolean | Optional | Whether this policy is considered during the termination process. |
is_auto_approval_on_inactivity_enabled | JSON | Optional | |
is_auto_approval_on_inactivity_enabled (anyOf 1) | boolean | Alternative | Whether requests are automatically approved after a period of inactivity. |
is_auto_approval_on_inactivity_enabled (anyOf 2) | null | Alternative | Whether requests are automatically approved after a period of inactivity. |
is_payment_top_off | boolean | Optional | Indicates if the policy involves payment top-offs. |
leave_type | string | Optional | Classification of the leave duration. Known values: SHORT_TERM_LEAVE, LONG_TERM_LEAVE |
max_entitlement_unit_amount | JSON | Optional | |
max_entitlement_unit_amount (anyOf 1) | JSON | Alternative | |
max_entitlement_unit_amount (anyOf 1) (anyOf 1) | number | Alternative | Maximum allowed entitlement amount. Format: double |
max_entitlement_unit_amount (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
max_entitlement_unit_amount (anyOf 2) | null | Alternative | Maximum allowed entitlement amount. Format: double |
max_request_start_unit_amount | JSON | Optional | |
max_request_start_unit_amount (anyOf 1) | JSON | Alternative | |
max_request_start_unit_amount (anyOf 1) (anyOf 1) | integer | Alternative | Maximum waiting period amount if request_start_type is FIXED_PERIOD. |
max_request_start_unit_amount (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
max_request_start_unit_amount (anyOf 2) | null | Alternative | Maximum waiting period amount if request_start_type is FIXED_PERIOD. |
max_time_off_per_tracking | JSON | Optional | |
max_time_off_per_tracking (anyOf 1) | JSON | Alternative | |
max_time_off_per_tracking (anyOf 1) (anyOf 1) | number | Alternative | Maximum amount of time off allowed per tracking cycle. Format: double |
max_time_off_per_tracking (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
max_time_off_per_tracking (anyOf 2) | null | Alternative | Maximum amount of time off allowed per tracking cycle. Format: double |
max_tracking_unit_amount | JSON | Optional | |
max_tracking_unit_amount (anyOf 1) | JSON | Alternative | |
max_tracking_unit_amount (anyOf 1) (anyOf 1) | integer | Alternative | Maximum duration of the tracking cycle in tracking_unit. |
max_tracking_unit_amount (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
max_tracking_unit_amount (anyOf 2) | null | Alternative | Maximum duration of the tracking cycle in tracking_unit. |
maximum_time_off_request_amount | JSON | Optional | |
maximum_time_off_request_amount (anyOf 1) | JSON | Alternative | |
maximum_time_off_request_amount (anyOf 1) (anyOf 1) | number | Alternative | Maximum amount that can be requested in a single time off request. Format: double |
maximum_time_off_request_amount (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
maximum_time_off_request_amount (anyOf 2) | null | Alternative | Maximum amount that can be requested in a single time off request. Format: double |
min_entitlement_unit_amount | JSON | Optional | |
min_entitlement_unit_amount (anyOf 1) | JSON | Alternative | |
min_entitlement_unit_amount (anyOf 1) (anyOf 1) | number | Alternative | Minimum allowed entitlement amount. Format: double |
min_entitlement_unit_amount (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
min_entitlement_unit_amount (anyOf 2) | null | Alternative | Minimum allowed entitlement amount. Format: double |
min_request_start_unit_amount | JSON | Optional | |
min_request_start_unit_amount (anyOf 1) | JSON | Alternative | |
min_request_start_unit_amount (anyOf 1) (anyOf 1) | integer | Alternative | Minimum waiting period amount if request_start_type is FIXED_PERIOD. |
min_request_start_unit_amount (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
min_request_start_unit_amount (anyOf 2) | null | Alternative | Minimum waiting period amount if request_start_type is FIXED_PERIOD. |
min_time_off_per_tracking | JSON | Optional | |
min_time_off_per_tracking (anyOf 1) | JSON | Alternative | |
min_time_off_per_tracking (anyOf 1) (anyOf 1) | number | Alternative | Minimum amount of time off required per tracking cycle. Format: double |
min_time_off_per_tracking (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
min_time_off_per_tracking (anyOf 2) | null | Alternative | Minimum amount of time off required per tracking cycle. Format: double |
min_tracking_unit_amount | JSON | Optional | |
min_tracking_unit_amount (anyOf 1) | JSON | Alternative | |
min_tracking_unit_amount (anyOf 1) (anyOf 1) | integer | Alternative | Minimum duration of the tracking cycle in tracking_unit. |
min_tracking_unit_amount (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
min_tracking_unit_amount (anyOf 2) | null | Alternative | Minimum duration of the tracking cycle in tracking_unit. |
minimum_time_off_request_amount | JSON | Optional | |
minimum_time_off_request_amount (anyOf 1) | JSON | Alternative | |
minimum_time_off_request_amount (anyOf 1) (anyOf 1) | number | Alternative | Minimum amount that can be requested in a single time off request. Format: double |
minimum_time_off_request_amount (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
minimum_time_off_request_amount (anyOf 2) | null | Alternative | Minimum amount that can be requested in a single time off request. Format: double |
notice_period_unit | JSON | Optional | Unit for the required notice period. |
notice_period_unit (anyOf 1) | string | Alternative | Unit for the required notice period. Known values: YEAR, MONTH, WEEK, DAY, BUSINESS_DAY, CALENDAR_DAY, HOUR |
notice_period_unit (anyOf 2) | null | Alternative | |
notice_period_unit_amount | JSON | Optional | |
notice_period_unit_amount (anyOf 1) | JSON | Alternative | |
notice_period_unit_amount (anyOf 1) (anyOf 1) | integer | Alternative | Amount for the required notice period. |
notice_period_unit_amount (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
notice_period_unit_amount (anyOf 2) | null | Alternative | Amount for the required notice period. |
ops_workbench_process_template_reference | JSON | Optional | |
ops_workbench_process_template_reference (anyOf 1) | string | Alternative | Reference to an Ops Workbench process template, if applicable. |
ops_workbench_process_template_reference (anyOf 2) | null | Alternative | Reference to an Ops Workbench process template, if applicable. |
overlap_request_type | string | Optional | Rule for requesting time off that overlaps with existing requests. Known values: ALLOWED, NOT_ALLOWED, ALLOWED_WITH_APPROVAL |
policy_allowance_proration | JSON | Optional | Proration rules applied to the policy allowances. |
policy_allowance_proration (anyOf 1) | Model | Alternative | Expand Retrieve policy validation templates — 200 response body — data policy validation templates item policy allowance proration Proration rules applied to the policy allowances |
policy_allowance_proration (anyOf 2) | null | Alternative | |
policy_allowances | array | Optional | List of allowances defined within this policy template. |
policy_allowances[] | Model | Each item | Expand Retrieve policy validation templates — 200 response body — data policy validation templates item policy allowances item |
policy_type | Model | Optional | Expand Retrieve policy validation templates — 200 response body — data policy validation templates item policy type Details of the associated policy type. |
policy_type_id | string | Optional | Identifier of the associated policy type. Format: uuid |
policy_validation_template_reminders | array | Optional | Configuration for reminders related to this policy template. |
policy_validation_template_reminders[] | Model | Each item | Expand Get Organization Structure — 200 response body — data teams item |
request_start_type | JSON | Optional | When a worker can start requesting time off after becoming eligible. |
request_start_type (anyOf 1) | string | Alternative | When a worker can start requesting time off after becoming eligible. Known values: IMMEDIATELY, FIXED_PERIOD |
request_start_type (anyOf 2) | null | Alternative | |
request_start_unit | JSON | Optional | Unit for the waiting period if request_start_type is FIXED_PERIOD. |
request_start_unit (anyOf 1) | string | Alternative | Unit for the waiting period if request_start_type is FIXED_PERIOD. Known values: YEAR, MONTH, WEEK, DAY, BUSINESS_DAY, CALENDAR_DAY, HOUR |
request_start_unit (anyOf 2) | null | Alternative | |
require_notice_period | JSON | Optional | |
require_notice_period (anyOf 1) | boolean | Alternative | Whether a notice period is required before taking time off. |
require_notice_period (anyOf 2) | null | Alternative | Whether a notice period is required before taking time off. |
retrospective_request_type | string | Optional | Rule for requesting time off for past dates. Known values: ALLOWED, NOT_ALLOWED, ALLOWED_WITH_APPROVAL |
template_name | JSON | Optional | |
template_name (anyOf 1) | string | Alternative | Optional name for this specific template instance. |
template_name (anyOf 2) | null | Alternative | Optional name for this specific template instance. |
time_off_request_type | string | Optional | Allowed types of time off requests (e.g., full day, hourly). Known values: FULL_DAY, HALF_DAY, HOURLY, PERCENTAGE, FLEXIBLE |
time_off_type_validations | array | Optional | Specific validation rules applied to time off types under this policy. |
time_off_type_validations[] | Model | Each item | Expand Get Organization Structure — 200 response body — data teams item |
tracking_cadence | string | Optional | Determines when the tracking cycle starts. Known values: FIXED_DAY, ANNIVERSARY, NOT_SPECIFIED |
tracking_start_date | JSON | Optional | |
tracking_start_date (anyOf 1) | string | Alternative | Specific start date for FIXED_DAY tracking cadence (YYYY-MM-DD). Format: date |
tracking_start_date (anyOf 2) | null | Alternative | Specific start date for FIXED_DAY tracking cadence (YYYY-MM-DD). Format: date |
tracking_unit | JSON | Optional | The unit used for tracking the policy cycle (e.g., yearly). |
tracking_unit (anyOf 1) | string | Alternative | The unit used for tracking the policy cycle (e.g., yearly). Known values: YEAR, MONTH, WEEK, DAY, BUSINESS_DAY, CALENDAR_DAY, HOUR |
tracking_unit (anyOf 2) | null | Alternative | |
upload_attachment_condition | string | Optional | Condition under which an attachment is needed for a request. Known values: REQUIRED, NOT_REQUIRED, CONDITIONALLY_REQUIRED, REQUIRED_WITH_CONDITION, ALWAYS_REQUIRED |
Referenced models: Get Organization Structure — 200 response body — data teams item, Retrieve policy validation templates — 200 response body — data policy validation templates item policy allowance proration Proration rules applied to the policy allowances, Retrieve policy validation templates — 200 response body — data policy validation templates item policy allowances item, Retrieve policy validation templates — 200 response body — data policy validation templates item policy type