openapi: 3.1.0 info: title: Endpoints subpackage_timeOff API version: 1.0.0 servers: - url: https://api.letsdeel.com/rest/v2 - url: https://api-staging.letsdeel.com/rest/v2 tags: - name: subpackage_timeOff paths: /time_offs/review: post: operationId: review-time-off-request summary: Approve/Reject time-off requests description: "Approve/Reject time-off requests in batch. The request body should contain a list of time-off IDs and the desired status (either APPROVED or REJECTED). The response will indicate which requests were successfully processed and which ones encountered errors.\n **Token scopes**: `time-off:write`" tags: - subpackage_timeOff parameters: - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '201': description: Review process completed successfully content: application/json: schema: $ref: '#/components/schemas/time-off_reviewTimeOffRequest_Response_201' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApproveRejectTimeOffRequests-v2026-01-01RequestBadRequestError' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' requestBody: content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/TimeOffsReviewPostRequestBodyContentApplicationJsonSchemaDataItems' description: Array of time-offs to be reviewed required: - data /time_offs/{time_off_id}: delete: operationId: delete-time-off-request summary: Cancel time-off request description: "Cancels a time-off request regardless of its current status. This endpoint provides a simplified approach to time-off management by always setting the request status to CANCELED.\n **Token scopes**: `time-off:write`, `worker:write`" tags: - subpackage_timeOff parameters: - name: time_off_id in: path description: Time off request id required: true schema: type: string format: uuid - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '204': description: time off deleted content: application/json: schema: $ref: '#/components/schemas/time-off_deleteTimeOffRequest_Response_204' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' patch: operationId: update-time-off-request summary: Update time-off request description: "Update time-off request\n **Token scopes**: `time-off:write`, `worker:write`" tags: - subpackage_timeOff parameters: - name: time_off_id in: path description: Time off request id required: true schema: type: string format: uuid - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '200': description: Time off updated content: application/json: schema: $ref: '#/components/schemas/time-off_updateTimeOffRequest_Response_200' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/UpdateTimeOffRequestRequestBadRequestError' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' requestBody: description: Time off update request data content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaData' description: Time off update request data /time_offs: post: operationId: create-time-off-request summary: Create time-off request description: "Create time-off request\n **Token scopes**: `time-off:write`, `worker:write`" tags: - subpackage_timeOff parameters: - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '201': description: Time off creation data content: application/json: schema: $ref: '#/components/schemas/time-off_createTimeOffRequest_Response_201' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/CreateTimeOffRequest-v2026-01-01RequestBadRequestError' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/CreateTimeOffRequest-v2026-01-01RequestForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/CreateTimeOffRequest-v2026-01-01RequestNotFoundError' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' requestBody: description: The time off request data content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/TimeOffsPostRequestBodyContentApplicationJsonSchemaData' description: The time off request data get: operationId: list-time-off-requests-for-organization summary: List time-off requests for Organization description: "List time-off requests for Organization\n **Token scopes**: `time-off:read`" tags: - subpackage_timeOff parameters: - name: status in: query description: Time off status required: false schema: type: array items: $ref: '#/components/schemas/TimeOffsGetParametersStatusSchemaItems' - name: time_off_ids in: query description: Time off ids required: false schema: type: array items: type: string format: uuid - name: start_date in: query description: Start date of time off required: false schema: type: string format: date-time - name: end_date in: query description: End date of time off required: false schema: type: string format: date-time - name: approval_start_date in: query description: Approval start date required: false schema: type: string format: date-time - name: approval_end_date in: query description: Approval end date required: false schema: type: string format: date-time - name: updated_start_date in: query description: Updated start date required: false schema: type: string format: date-time - name: updated_end_date in: query description: Updated end date required: false schema: type: string format: date-time - name: page_size in: query description: Page size required: false schema: type: integer - name: policy_types in: query description: Policy types required: false schema: type: array items: type: string format: uuid - name: next in: query description: Next page required: false schema: type: string - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '200': description: Successful operation time offs returned content: application/json: schema: $ref: '#/components/schemas/Time Off_listTimeOffRequestsForOrganization_Response_200' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' /time_offs/global-payroll/sync: post: operationId: sync-time-off-global-payroll summary: External HR Time Off Synchronization description: "Synchronize time off requests from an external HRIS to Deel. Only Global Payroll contracts are allowed for this operation. This endpoint can perform 2 different operations with the provided time off list: i) upsert - time off requests identified by an external ID will be either inserted or updated at Deel. ii) delete - existing time off requests identified by an external ID with the parameter 'deleted: true' will be deleted. Deel will identify the impacts of each operation on each payroll cycle.\n **Token scopes**: `time-off:write`" tags: - subpackage_timeOff parameters: - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '200': description: Successful operation time offs returned content: application/json: schema: $ref: '#/components/schemas/time-off_syncTimeOffGlobalPayroll_Response_200' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ExternalHrTimeOffSynchronizationRequestBadRequestError' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' requestBody: content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/TimeOffsGlobalPayrollSyncPostRequestBodyContentApplicationJsonSchemaData' /time_offs/profile/{hris_profile_id}/entitlements: get: operationId: get-time-off-entitlements summary: Get Profile Entitlements description: "List time-off entitlements.\n **Token scopes**: `time-off:read`" tags: - subpackage_timeOff parameters: - name: hris_profile_id in: path description: HRIS profile ID required: true schema: type: string format: uuid - name: policy_type_name in: query required: false schema: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdEntitlementsGetParametersPolicyTypeName' - name: tracking_period_date in: query description: Tracking period date required: false schema: type: string format: date - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/time-off_getTimeOffEntitlements_Response_200' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' /time_offs/time-off-events: get: operationId: get-time-off-events summary: Get Time Off Events for Profile description: "List time off events for profile\n **Token scopes**: `time-off:read`" tags: - subpackage_timeOff parameters: - name: hris_profile_id in: query description: Worker hris profile id required: true schema: type: string format: uuid - name: time_off_type_id in: query description: Time off type id required: false schema: type: string format: uuid - name: policy_id in: query description: Policy id required: false schema: type: string format: uuid - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '200': description: List of time off events for the profile content: application/json: schema: $ref: '#/components/schemas/time-off_getTimeOffEvents_Response_200' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/GetTimeOffEventsForProfileRequestBadRequestError' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' /time_offs/dailies: get: operationId: get-time-off-dailies summary: Get Work Schedule and Holidays description: "Given a date range (start date, end date) gets the holidays, work schedule and time off dailies for a list of hrisProfileIds or countries.\n **Token scopes**: `time-off:read`" tags: - subpackage_timeOff parameters: - name: start_date in: query description: Start date of non working days date range required: false schema: type: string format: date - name: end_date in: query description: End date of non working days date range required: false schema: type: string format: date - name: hris_profile_ids in: query description: HRIS profile ids required: false schema: type: array items: type: string format: uuid - name: countries in: query description: List of countries to be fetched required: false schema: type: array items: type: string - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '200': description: Successful operation. content: application/json: schema: $ref: '#/components/schemas/time-off_getTimeOffDailies_Response_200' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/GetWorkScheduleAndHolidaysRequestBadRequestError' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' /time_offs/profile/{hris_profile_id}/policies: get: operationId: get-time-off-policies summary: List policies description: "List policies for profile\n **Token scopes**: `time-off:read`" tags: - subpackage_timeOff parameters: - name: hris_profile_id in: path description: hrisProfileId id. required: true schema: type: string format: uuid - name: policy_type_name in: query description: Policy type name. required: false schema: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetParametersPolicyTypeName' - name: policy_type_id in: query description: policy type id required: false schema: type: string format: uuid - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '200': description: Successful operation. content: application/json: schema: $ref: '#/components/schemas/time-off_getTimeOffPolicies_Response_200' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Not Found - Resource not found content: application/json: schema: $ref: '#/components/schemas/ListPoliciesRequestNotFoundError' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' /time_offs/profile/{hris_profile_id}: get: operationId: get-time-off-profile summary: List time-off requests description: "List time-off requests\n **Token scopes**: `time-off:read`" tags: - subpackage_timeOff parameters: - name: hris_profile_id in: path description: HRIS profile id required: true schema: type: string format: uuid - name: status in: query description: Time off status required: false schema: type: array items: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdGetParametersStatusSchemaItems' - name: time_off_ids in: query description: Time off ids required: false schema: type: array items: type: string format: uuid - name: start_date in: query description: Start date of time off required: false schema: type: string format: date-time - name: end_date in: query description: End date of time off required: false schema: type: string format: date-time - name: approval_start_date in: query description: Approval start date required: false schema: type: string format: date-time - name: approval_end_date in: query description: Approval end date required: false schema: type: string format: date-time - name: updated_start_date in: query description: Updated start date required: false schema: type: string format: date-time - name: updated_end_date in: query description: Updated end date required: false schema: type: string format: date-time - name: page_size in: query description: Page size required: false schema: type: integer - name: policy_types in: query description: Policy types required: false schema: type: array items: type: string format: uuid - name: next in: query description: Next page required: false schema: type: string - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '200': description: Successful operation time offs returned content: application/json: schema: $ref: '#/components/schemas/time-off_getTimeOffProfile_Response_200' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' /time_offs/policy-validation-templates: get: operationId: get-time-off-policy-validation-templates summary: Retrieve policy validation templates description: "Retrieves policy validation templates and policy types based on the provided countries. Policy types are unique.\n **Token scopes**: `time-off:read`" tags: - subpackage_timeOff parameters: - name: countries in: query description: List of countries (ISO 3166-1 alpha-2 codes) to fetch policy templates and types for. required: true schema: type: array items: type: string - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '200': description: Successful operation. content: application/json: schema: $ref: '#/components/schemas/time-off_getTimeOffPolicyValidationTemplates_Response_200' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/RetrievePolicyValidationTemplatesRequestBadRequestError' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' /time_offs/validate: post: operationId: validate-time-off summary: Validate time-off request description: "Validate time-off requests and updates\n **Token scopes**: `time-off:read`" tags: - subpackage_timeOff parameters: - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '200': description: Time off request validation result content: application/json: schema: $ref: '#/components/schemas/time-off_validateTimeOff_Response_200' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ValidateTimeOffRequest-v2026-01-01RequestBadRequestError' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' requestBody: description: Time off request data content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/TimeOffsValidatePostRequestBodyContentApplicationJsonSchemaData' description: Time off request data components: schemas: time-off_getTimeOffDailies_Response_200: type: object properties: data: type: array items: $ref: '#/components/schemas/TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItems' description: List of holiday and work schedule information grouped by HRIS profile, including holidays within the date range, work schedule details, and daily work status title: time-off_getTimeOffDailies_Response_200 TimeOffsGetParametersStatusSchemaItems: type: string enum: - REQUESTED - APPROVED - REJECTED - USED - CANCELED title: TimeOffsGetParametersStatusSchemaItems TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffDailiesItems: type: object properties: id: type: string format: uuid description: Time off daily id date: type: string format: date description: Date of the time off daily. This is the date when the time off was taken. type: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffDailiesItemsType' description: Type of the time off daily. Can be WORKING_DAY, NON_WORKING_DAY or HOLIDAY. amount: type: number format: double description: Amount of time off taken in this specific date. created_at: type: string format: date-time description: This is the date when the time off daily was created in the database. updated_at: type: string format: date-time description: This is the date when the time off daily was last updated in the database. description: type: - string - 'null' description: Description of the time off daily. When it is a HOLIDAY this is the holiday name. time_off_id: type: string format: uuid description: Time off id. This is the id of the time off request associated with the time off daily. required: - id - date - type - amount - created_at - updated_at - time_off_id title: TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffDailiesItems TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItemsRecipientProfile: type: object properties: hris_profile_id: type: string format: uuid description: Recipient hris profile id organization_id: type: string format: uuid description: Recipient organization id client_profile_id: type: string format: uuid description: Recipient client profile id title: TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItemsRecipientProfile TimeOffsGlobalPayrollSyncPostResponsesContentApplicationJsonSchemaData: type: object properties: deleted: type: number format: double description: Number of time off requests that were deleted updated: type: number format: double description: Number of time off requests that were updated inserted: type: number format: double description: Number of time off requests that were inserted title: TimeOffsGlobalPayrollSyncPostResponsesContentApplicationJsonSchemaData TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffRequesterProfile: type: object properties: hris_profile_id: type: string format: uuid description: The worker HRIS profile id in the given organization. Available when the requester is a worker. organization_id: type: string format: uuid description: Id of the organization the profile belongs to. client_profile_id: type: string format: uuid description: Id of the client profile. Available when the requester is a client. required: - organization_id description: The time off profile of the requester of the time off request. Can be either a client or worker profile. title: TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffRequesterProfile TimeOffsGetResponsesContentApplicationJsonSchemaDataItems: type: object properties: id: type: string format: uuid description: Time off id amount: type: number format: double description: Amount of time off reason: type: string description: Reason for time off status: $ref: '#/components/schemas/TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsStatus' description: Status of time off is_paid: type: boolean description: Is time off paid end_date: type: string format: date description: End date of time off created_at: type: string format: date-time description: Time off creation date start_date: type: string format: date description: Start date of time off updated_at: type: string format: date-time description: Time off update date approved_at: type: - string - 'null' format: date-time description: Time off approval date description: type: - string - 'null' description: Time off description contract_oid: type: string description: Contract id requested_at: type: string format: date description: Time off request date half_end_date: type: boolean description: Is half end date time_off_type: $ref: '#/components/schemas/TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsTimeOffType' half_start_date: type: boolean description: Is half start date deduction_amount: type: - number - 'null' format: double description: Deduction amount entitlement_unit: $ref: '#/components/schemas/TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsEntitlementUnit' description: The unit in which the time off usage and entitlement are calculated. time_off_dailies: type: array items: $ref: '#/components/schemas/TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsTimeOffDailiesItems' time_off_type_id: type: string description: Time off type id recipient_profile: $ref: '#/components/schemas/TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsRecipientProfile' requester_profile: $ref: '#/components/schemas/TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsRequesterProfile' time_off_percentage: type: - number - 'null' format: double description: Time off percentage is_end_date_estimated: type: boolean description: Is end date estimated other_type_description: type: - string - 'null' description: Other type description required: - id - amount - is_paid - end_date - created_at - start_date - updated_at - requested_at - half_end_date - half_start_date - entitlement_unit - time_off_type_id title: TimeOffsGetResponsesContentApplicationJsonSchemaDataItems TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsRecipientProfile: type: object properties: hris_profile_id: type: string format: uuid description: The worker HRIS profile id in the given organization. organization_id: type: string format: uuid description: Id of the organization the profile belongs to. required: - hris_profile_id - organization_id description: The time off profile of the recipient of the time off request. Must be a worker profile. title: TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsRecipientProfile ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowanceProrationPartTimeWorkerTreatmentType : type: string enum: - SAME_AS_FTE - SPECIFIC_AMOUNT - PRO_RATA - PERCENTAGE_OF_FTE - BASED_ON_WORK_HOURS - BASED_ON_WORK_DAYS - CUSTOM_ENTITLEMENT description: How part-time workers are treated regarding entitlement. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowanceProrationPartTimeWorkerTreatmentType TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffEventEventDetails: type: object properties: birth_date: type: string format: date description: The birth date of the child. This is used for parental leave requests. adoption_date: type: string format: date description: The date of adoption. This is used for parental leave requests. was_premature_birth: type: boolean description: Whether the birth was premature or not. This is used for parental leave requests. estimated_birth_date: type: string format: date description: The estimated birth date of the child. Birth is estimated when the birth date has not been confirmed yet. had_multiple_children: type: boolean description: Whether the birth was multiple or not. This is used for parental leave requests. estimated_adoption_date: type: string format: date description: The estimated adoption date of the child. Birth is estimated when the adoption date has not been confirmed yet. required: - was_premature_birth - had_multiple_children description: Details of the event associated with the time off request. Required for event based policies such as parental leave. title: TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffEventEventDetails TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsPolicyTrackingCadence: type: string enum: - FIXED_DAY - ANNIVERSARY description: Tracking cadence title: TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsPolicyTrackingCadence Time Off_listTimeOffRequestsForOrganization_Response_200: type: object properties: data: type: array items: $ref: '#/components/schemas/TimeOffsGetResponsesContentApplicationJsonSchemaDataItems' next: type: string page_size: type: integer description: Page size has_next_page: type: boolean description: Has next page required: - data - page_size - has_next_page description: Time offs associated to the query title: Time Off_listTimeOffRequestsForOrganization_Response_200 TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItems: type: object properties: id: type: string format: uuid description: Unique identifier for the policy validation template. country: type: - string - 'null' description: Country code associated with this specific template instance, if applicable. leave_type: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsLeaveType' description: Classification of the leave duration. policy_type: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyType' description: Details of the associated policy type. template_name: type: - string - 'null' description: Optional name for this specific template instance. tracking_unit: oneOf: - $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsTrackingUnit' - type: 'null' description: The unit used for tracking the policy cycle (e.g., yearly). policy_type_id: type: string format: uuid description: Identifier of the associated policy type. tracking_cadence: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsTrackingCadence' description: Determines when the tracking cycle starts. policy_allowances: type: array items: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItems' description: List of allowances defined within this policy template. is_payment_top_off: type: boolean description: Indicates if the policy involves payment top-offs. notice_period_unit: oneOf: - $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsNoticePeriodUnit' - type: 'null' description: Unit for the required notice period. request_start_type: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsRequestStartType' description: When a worker can start requesting time off after becoming eligible. request_start_unit: oneOf: - $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsRequestStartUnit' - type: 'null' description: Unit for the waiting period if request_start_type is FIXED_PERIOD. benefits_payer_type: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsBenefitsPayerType' description: Who pays for the benefits associated with this time off. tracking_start_date: type: - string - 'null' format: date description: Specific start date for FIXED_DAY tracking cadence (YYYY-MM-DD). attachment_condition: oneOf: - $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsAttachmentCondition' - type: 'null' description: Comparison operator if attachment is conditionally required. overlap_request_type: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsOverlapRequestType' description: Rule for requesting time off that overlaps with existing requests. enabled_policy_fields: type: - array - 'null' items: type: string description: List of specific policy fields that are enabled or configurable. require_notice_period: type: - boolean - 'null' description: Whether a notice period is required before taking time off. time_off_request_type: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsTimeOffRequestType' description: Allowed types of time off requests (e.g., full day, hourly). enable_pay_out_balance: type: boolean description: Whether unused balance can be paid out. adoption_date_definition: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsAdoptionDateDefinition' description: Rule regarding the requirement of an adoption date for relevant policies. allow_estimated_end_date: type: boolean description: Whether an estimated end date can be provided for the time off request. max_tracking_unit_amount: type: - integer - 'null' description: Maximum duration of the tracking cycle in tracking_unit. min_tracking_unit_amount: type: - integer - 'null' description: Minimum duration of the tracking cycle in tracking_unit. attachment_condition_unit: oneOf: - $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsAttachmentConditionUnit' - type: 'null' description: Unit for the attachment condition amount. max_time_off_per_tracking: type: - number - 'null' format: double description: Maximum amount of time off allowed per tracking cycle. min_time_off_per_tracking: type: - number - 'null' format: double description: Minimum amount of time off required per tracking cycle. notice_period_unit_amount: type: - integer - 'null' description: Amount for the required notice period. time_off_type_validations: type: array items: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsTimeOffTypeValidationsItems' description: Specific validation rules applied to time off types under this policy. allow_approvers_to_request: type: boolean description: Whether designated approvers can also request time off under this policy. policy_allowance_proration: oneOf: - $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowanceProration' - type: 'null' description: Proration rules applied to the policy allowances. retrospective_request_type: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsRetrospectiveRequestType' description: Rule for requesting time off for past dates. attachment_condition_amount: type: - integer - 'null' description: Threshold amount for the attachment condition. disable_termination_editing: type: boolean description: Whether editing related to termination is disabled. include_in_termination_flow: type: boolean description: Whether this policy is considered during the termination process. max_entitlement_unit_amount: type: - number - 'null' format: double description: Maximum allowed entitlement amount. min_entitlement_unit_amount: type: - number - 'null' format: double description: Minimum allowed entitlement amount. upload_attachment_condition: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsUploadAttachmentCondition' description: Condition under which an attachment is needed for a request. allow_to_edit_past_time_offs: type: boolean description: Whether past time off requests under this policy can be edited. max_request_start_unit_amount: type: - integer - 'null' description: Maximum waiting period amount if request_start_type is FIXED_PERIOD. min_request_start_unit_amount: type: - integer - 'null' description: Minimum waiting period amount if request_start_type is FIXED_PERIOD. default_entitlement_unit_amount: type: - number - 'null' format: double description: Default amount of entitlement granted per cycle. maximum_time_off_request_amount: type: - number - 'null' format: double description: Maximum amount that can be requested in a single time off request. minimum_time_off_request_amount: type: - number - 'null' format: double description: Minimum amount that can be requested in a single time off request. auto_approval_inactivity_time_unit: oneOf: - $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsAutoApprovalInactivityTimeUnit' - type: 'null' description: Unit for the auto-approval inactivity period. enable_absence_percentage_requests: type: boolean description: Whether requests can be made as a percentage of the workday. estimated_end_date_client_reminder: type: - array - 'null' items: type: integer description: Days before estimated end date to remind the client/manager. estimated_end_date_worker_reminder: type: - array - 'null' items: type: integer description: Days before estimated end date to remind the worker. policy_validation_template_reminders: type: array items: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyValidationTemplateRemindersItems' description: Configuration for reminders related to this policy template. is_auto_approval_on_inactivity_enabled: type: - boolean - 'null' description: Whether requests are automatically approved after a period of inactivity. allow_time_off_payment_treatment_upsert: type: - boolean - 'null' description: Whether payment treatment details can be updated. ops_workbench_process_template_reference: type: - string - 'null' description: Reference to an Ops Workbench process template, if applicable. auto_approval_inactivity_time_unit_amount: type: - integer - 'null' description: Amount for the auto-approval inactivity period. enable_accrued_days_for_policy_on_termination_flow: type: boolean description: Calculate accrued days specifically for this policy during termination. enable_high_accuracy_accrued_days_on_termination_flow: type: boolean description: Use high accuracy calculation for accrued days during termination. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItems ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsPartTimeWorkerAdditionalAllowanceType : type: string enum: - SAME_AS_FTE - PERCENTAGE_OF_FTE - NO_ADDITIONAL_ALLOWANCE description: How additional allowances apply to part-time workers. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsPartTimeWorkerAdditionalAllowanceType ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyValidationTemplateRemindersItems : type: object properties: {} title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyValidationTemplateRemindersItems TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsFutureEventsItemsType: type: string enum: - ACCRUAL - ACCRUAL_DEDUCTION - ACCRUAL_PRORATE - ACCRUAL_TERMINATION - MANUAL_ADJUSTMENT - NO_ROLLOVER - ROLLOVER_ADJUSTMENT - ROLLOVER_CARRY_OVER - ROLLOVER_EXPIRATION - ROLLOVER_PAYOUT - ROLLOVER_PROJECTED - TIME_OFF description: Event type title: TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsFutureEventsItemsType TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsType: type: string enum: - BASE_ALLOWANCE - ADDITIONAL_ALLOWANCE description: Type of the policy allowance title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsType TimeOffsPostRequestBodyContentApplicationJsonSchemaDataEventDetails: type: object properties: birth_date: type: string format: date description: The birth date of the child. This is used for parental leave requests. adoption_date: type: string format: date description: The date of adoption. This is used for parental leave requests. was_premature_birth: type: boolean description: Whether the birth was premature or not. This is used for parental leave requests. had_multiple_children: type: boolean description: Whether the birth was multiple or not. This is used for parental leave requests. required: - birth_date - was_premature_birth - had_multiple_children description: Details of the event associated with the time off request. Required for event based policies such as parental leave. title: TimeOffsPostRequestBodyContentApplicationJsonSchemaDataEventDetails ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsAttachmentConditionUnit : type: string enum: - YEAR - MONTH - WEEK - DAY - BUSINESS_DAY - CALENDAR_DAY - HOUR description: Unit for the attachment condition amount. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsAttachmentConditionUnit ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsRequestStartUnit : type: string enum: - YEAR - MONTH - WEEK - DAY - BUSINESS_DAY - CALENDAR_DAY - HOUR description: Unit for the waiting period if request_start_type is FIXED_PERIOD. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsRequestStartUnit TimeOffsPostResponsesContentApplicationJsonSchemaErrors: type: object properties: message: type: string description: Error message describing what went wrong description: Error details title: TimeOffsPostResponsesContentApplicationJsonSchemaErrors RetrievePolicyValidationTemplatesRequestBadRequestError: type: object properties: errors: type: array items: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaErrorsItems' request: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaRequest' title: RetrievePolicyValidationTemplatesRequestBadRequestError time-off_createTimeOffRequest_Response_201: type: object properties: time_offs: type: array items: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItems' description: The list of created time offs. Depending on the selected dates, a time off can be split into more than one request. required: - time_offs description: The list of created time offs. Depending on the selected dates, a time off can be split into more than one request. title: time-off_createTimeOffRequest_Response_201 TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsRequestStartUnit: type: string enum: - HOUR - BUSINESS_DAY - CALENDAR_DAY - WEEK - MONTH - YEAR description: Unit used for request start configuration title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsRequestStartUnit TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaDataDatesItems: type: object properties: date: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaDataDatesItemsDate' description: An specific date in the time-off request hours: type: number format: double description: The amount taken in hours during this specific date. It can not exceed the maximum allowed hours for the date. amount: type: number format: double description: The amount of time off requested for the date. It must be in the same time unit as in the total amount for the time off request. day_type: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaDataDatesItemsDayType' description: The type of day for the time off request. All dates must follow the same type. required: - date description: The dates breakdown for the time off request. title: TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaDataDatesItems ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowanceProration : type: object properties: id: type: string format: uuid description: Unique identifier for the proration settings. has_partial_prorate: type: boolean description: Indicates if partial proration rules are applied. hire_proration_rule: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowanceProrationHireProrationRule' description: Rule for prorating entitlement upon hiring. is_accrual_prorate_policy: type: boolean description: Indicates if accrual is prorated based on policy rules. termination_proration_rule: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowanceProrationTerminationProrationRule' description: Rule for prorating entitlement upon termination. hire_proration_cut_off_date: type: - integer - 'null' description: Day of the month used as cut-off for hire proration. part_time_worker_treatment_type: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowanceProrationPartTimeWorkerTreatmentType' description: How part-time workers are treated regarding entitlement. termination_proration_cut_off_date: type: - integer - 'null' description: Day of the month used as cut-off for termination proration. part_time_worker_treatment_specific_amount: type: - number - 'null' format: double description: Specific amount if treatment type is SPECIFIC_AMOUNT. max_part_time_worker_treatment_specific_amount: type: - number - 'null' format: double description: Maximum specific amount for part-time treatment. min_part_time_worker_treatment_specific_amount: type: - number - 'null' format: double description: Minimum specific amount for part-time treatment. description: Proration rules applied to the policy allowances. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowanceProration TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsAttachmentsItems: type: object properties: id: type: string format: uuid description: Attachment id filename: type: string description: Filename of the attachment created_at: type: string format: date-time description: This is the date when the attachment was created in the database. updated_at: type: string format: date-time description: This is the date when the attachment was last updated in the database. required: - id - filename - created_at - updated_at description: An attachment associated with the time off request. title: TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsAttachmentsItems ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsRequestStartType : type: string enum: - IMMEDIATELY - FIXED_PERIOD description: When a worker can start requesting time off after becoming eligible. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsRequestStartType time-off_validateTimeOff_Response_200: type: object properties: data: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaData' description: Time off request validation result required: - data description: Time off request validation result title: time-off_validateTimeOff_Response_200 TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsTimeOffDailiesItems: type: object properties: date: type: string format: date description: Date of the daily time_off_daily_type: $ref: '#/components/schemas/TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsTimeOffDailiesItemsTimeOffDailyType' description: Type of work status or holiday required: - date - time_off_daily_type description: Date with holiday or work status by day title: TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsTimeOffDailiesItems TimeOffsPostRequestBodyContentApplicationJsonSchemaDataDatesItems: type: object properties: date: $ref: '#/components/schemas/TimeOffsPostRequestBodyContentApplicationJsonSchemaDataDatesItemsDate' description: An specific date in the time-off request hours: type: number format: double description: The amount taken in hours during this specific date. It can not exceed the maximum allowed hours for the date. amount: type: number format: double description: The amount of time off requested for the date. It must be in the same time unit as in the total amount for the time off request. day_type: $ref: '#/components/schemas/TimeOffsPostRequestBodyContentApplicationJsonSchemaDataDatesItemsDayType' description: The type of day for the time off request. All dates must follow the same type. required: - date description: The dates breakdown for the time off request. title: TimeOffsPostRequestBodyContentApplicationJsonSchemaDataDatesItems ExternalHrTimeOffSynchronizationRequestBadRequestError: type: object properties: errors: type: array items: $ref: '#/components/schemas/TimeOffsGlobalPayrollSyncPostResponsesContentApplicationJsonSchemaErrorsItems' request: $ref: '#/components/schemas/TimeOffsGlobalPayrollSyncPostResponsesContentApplicationJsonSchemaRequest' title: ExternalHrTimeOffSynchronizationRequestBadRequestError TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsNoticePeriodUnit: type: string enum: - HOUR - BUSINESS_DAY - CALENDAR_DAY - WEEK - MONTH - YEAR description: Unit for notice period title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsNoticePeriodUnit TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaData: type: object properties: policy_types: type: array items: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyTypesItems' description: List of unique policy types associated with the retrieved templates. policy_validation_templates: type: array items: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItems' description: List of policy validation templates matching the criteria. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaData TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsTrackingUnit: type: string enum: - HOUR - BUSINESS_DAY - CALENDAR_DAY - WEEK - MONTH - YEAR description: Unit used for tracking policy periods title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsTrackingUnit TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsWasPrematureBirthType: type: string enum: - boolean description: The type of the field, indicating it is a boolean field title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsWasPrematureBirthType TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsHadMultipleChildren: type: object properties: type: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsHadMultipleChildrenType' description: The type of the field, indicating it is a boolean field required: type: boolean description: Indicates if the field is required required: - type - required description: Indicates if the request is for multiple children. Required for parental leave requests. title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsHadMultipleChildren ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsEntitlementExpirationUnit : type: string enum: - YEAR - MONTH - WEEK - DAY - BUSINESS_DAY - CALENDAR_DAY - HOUR description: Unit for entitlement expiration period. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsEntitlementExpirationUnit TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsBirthDate: type: object properties: type: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsBirthDateType' description: The type of the field, indicating it is a date-only field required: type: boolean description: Indicates if the field is required required: - type - required description: The birth-date of the child. Required for parental leave requests. title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsBirthDate TimeOffsTimeOffEventsGetResponsesContentApplicationJsonSchemaErrorsItems: type: object properties: path: type: string description: The JSON path where input validation failed message: type: string description: A description of the returned error title: TimeOffsTimeOffEventsGetResponsesContentApplicationJsonSchemaErrorsItems TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsPolicyPolicyType: type: object properties: id: type: string format: uuid description: Policy type ID name: type: string description: Policy type name required: - id - name title: TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsPolicyPolicyType ? TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsAccrualApplicationType : type: string enum: - BEGIN_OF_CYCLE - END_OF_CYCLE - BEGIN_OF_NEXT_CYCLE description: Type of accrual application. Enum to indicate when accruals will be applied within the accrual cycles. title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsAccrualApplicationType ? TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsEntitlementExpirationUnit : type: string enum: - HOUR - BUSINESS_DAY - CALENDAR_DAY - WEEK - MONTH - YEAR description: Unit used for entitlement expiration title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsEntitlementExpirationUnit TimeOffsValidatePostRequestBodyContentApplicationJsonSchemaDataEventDetails: type: object properties: birth_date: type: string format: date description: The birth-date of the child. Required for parental leave requests. adoption_date: type: string format: date description: The adoption-date of the child. Required depending on the type of the leave requests. was_premature_birth: type: boolean description: Indicates if the child was born prematurely. Required for parental leave requests. had_multiple_children: type: boolean description: Indicates if the request is for multiple children. Required for parental leave requests. description: Event details regarding the leave. Required for event based policies such as parental leave. title: TimeOffsValidatePostRequestBodyContentApplicationJsonSchemaDataEventDetails TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsTimeOffType: type: object properties: id: type: string format: uuid description: Time off type id. name: type: string description: Time off type name. Basically the reason or category of time-off taken. For SICK leave, it can be doctor appointment, surgery etc. policy: $ref: '#/components/schemas/TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsTimeOffTypePolicy' required: - id - name title: TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsTimeOffType TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsAdoptionDateType: type: string enum: - date-only description: The type of the field, indicating it is a date-only field title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsAdoptionDateType TimeOffsDailiesGetResponsesContentApplicationJsonSchemaRequest: type: object properties: url: type: string description: The relative URL of the failed request code: type: number format: double description: The code of the source handler which produced the returned error docs: type: string description: A link to the official documentation for the requested endpoint resource method: type: string description: The HTTP method of the failed request source: type: string description: The source handler which produced the returned error status: type: number format: double description: The status code of the response api_req_id: type: string description: The request ID of the failed request title: TimeOffsDailiesGetResponsesContentApplicationJsonSchemaRequest TimeOffsReviewPostResponsesContentApplicationJsonSchemaRequest: type: object properties: url: type: string description: The relative URL of the failed request code: type: number format: double description: The code of the source handler which produced the returned error docs: type: string description: A link to the official documentation for the requested endpoint resource method: type: string description: The HTTP method of the failed request source: type: string description: The source handler which produced the returned error status: type: number format: double description: The status code of the response api_req_id: type: string description: The request ID of the failed request title: TimeOffsReviewPostResponsesContentApplicationJsonSchemaRequest TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsIsAttachmentRequired: type: string enum: - NOT_REQUIRED - REQUIRED - CONDITIONALLY_REQUIRED description: Whether an attachment is required for time off requests title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsIsAttachmentRequired ? TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsBalanceTrackingType : type: string enum: - INFLEXIBLE - FLEXIBLE_NO_LIMIT - FLEXIBLE_CUSTOM_AMOUNT - FLEXIBLE_UP_TO_YEARLY_ALLOWANCE description: Type of balance tracking. Determines how workers can request their time off. title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsBalanceTrackingType TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffType: type: object properties: id: type: string format: uuid description: Time off type id. name: type: string description: Time off type name. Basically the reason or category of time-off taken. For SICK leave, it can be doctor appointment, surgery etc. policy: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffTypePolicy' description: The policy associated with the time off type. required: - id - name description: The type of time off taken. title: TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffType TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffTypePolicy: type: object properties: id: type: string format: uuid description: Policy id name: type: string description: The custom name given to policy during policy creation. policy_type: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffTypePolicyPolicyType' required: - id - name - policy_type description: The policy associated with the time off type. title: TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffTypePolicy ? TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsEntitlementStartUnit : type: string enum: - HOUR - BUSINESS_DAY - CALENDAR_DAY - WEEK - MONTH - YEAR description: Unit used for entitlement start title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsEntitlementStartUnit TimeOffsTimeOffEventsGetResponsesContentApplicationJsonSchemaDataItemsEventDetails: type: object properties: birth_date: type: string format: date description: Start date of the time off adoption_date: type: string format: date description: End date of the time off was_premature_birth: type: boolean description: Was the child born prematurely? estimated_birth_date: type: string format: date description: The estimated date of the child birth had_multiple_children: type: boolean description: Was it the birth of multiple children? estimated_adoption_date: type: string format: date description: The estimated date of the child adoption description: Details of the time off event title: TimeOffsTimeOffEventsGetResponsesContentApplicationJsonSchemaDataItemsEventDetails TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffAttachmentsItems: type: object properties: id: type: string format: uuid description: Attachment id filename: type: string description: Filename of the attachment created_at: type: string format: date-time description: This is the date when the attachment was created in the database. updated_at: type: string format: date-time description: This is the date when the attachment was last updated in the database. required: - id - filename - created_at - updated_at description: An attachment associated with the time off request. title: TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffAttachmentsItems TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsAccrualUnit: type: string enum: - HOUR - BUSINESS_DAY - CALENDAR_DAY - WEEK - MONTH - YEAR description: Unit used for accrual title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsAccrualUnit TimeOffsProfileHrisProfileIdEntitlementsGetParametersPolicyTypeName: type: string enum: - Moving leave - Adoption leave - Personal leave - Parental leave - Military leave - Childbirth leave - Study leave - Sick leave - Bereavement leave - Family & domestic violence leave - Marriage/wedding leave - Blood donation leave - Volunteer leave - Vacation - Doctor's appointment leave - Maternity leave - Hajj leave - Paternity leave - Civic/public duty leave - Childcare leave - Unpaid leave - Paid leave - Other leave - Disability leave - Pregnancy leave - RTT - Regional holiday - Breastfeeding leave - Advanced vacation description: Policy type name title: TimeOffsProfileHrisProfileIdEntitlementsGetParametersPolicyTypeName TimeOffsReviewPostRequestBodyContentApplicationJsonSchemaDataItemsStatus: type: string enum: - APPROVED - REJECTED description: Decision on whether the time off request was approved or rejected title: TimeOffsReviewPostRequestBodyContentApplicationJsonSchemaDataItemsStatus TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsPolicyTrackingUnit: type: string enum: - HOUR - BUSINESS_DAY - CALENDAR_DAY - WEEK - MONTH - YEAR description: Tracking unit title: TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsPolicyTrackingUnit TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsRecipientProfile: type: object properties: hris_profile_id: type: string format: uuid description: Recipient hris profile id organization_id: type: string format: uuid description: Recipient organization id client_profile_id: type: string format: uuid description: Recipient client profile id title: TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsRecipientProfile TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaErrors: type: object properties: message: type: string description: Error message describing what went wrong description: Error details title: TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaErrors TimeOffsPostRequestBodyContentApplicationJsonSchemaDataStartDate: oneOf: - type: string format: date - type: string format: date-time description: 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. title: TimeOffsPostRequestBodyContentApplicationJsonSchemaDataStartDate TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowanceProration: type: object properties: prorates_on_hire: type: boolean description: Whether proration is applied on hire prorates_on_termination: type: boolean description: Whether proration is applied on termination part_time_worker_treatment_type: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowanceProrationPartTimeWorkerTreatmentType' description: Type of treatment for part-time workers part_time_worker_treatment_specific_amount: type: - number - 'null' format: double description: Specific amount for part-time worker treatment when the type is CUSTOM_ENTITLEMENT required: - prorates_on_hire - prorates_on_termination - part_time_worker_treatment_type - part_time_worker_treatment_specific_amount description: Proration configuration for policy allowances title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowanceProration TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsHolidaysItemsType: type: string enum: - MANDATORY - OPTIONAL - HIDDEN - HOLIDAY - WORKING_DAY description: Type of the holiday title: TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsHolidaysItemsType CreateTimeOffRequest-v2026-01-01RequestBadRequestError: type: object properties: errors: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaErrors' description: Error details request: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaRequest' description: Request metadata title: CreateTimeOffRequest-v2026-01-01RequestBadRequestError ValidateTimeOffRequest-v2026-01-01RequestBadRequestError: type: object properties: errors: type: array items: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaErrorsItems' request: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaRequest' title: ValidateTimeOffRequest-v2026-01-01RequestBadRequestError TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItems: type: object properties: id: type: string description: Entitlement ID used: type: string description: Used time off events: type: - array - 'null' items: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsEventsItems' policy: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsPolicy' accrued: type: - string - 'null' description: Accrued time off expired: type: string description: Expired time off approved: type: string description: Approved time off allowance: type: - string - 'null' description: Time off allowance available: type: - string - 'null' description: Available time off. Will be null if is_allowance_unlimited is true requested: type: string description: Requested time off rollovers: type: - array - 'null' items: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsRolloversItems' accrual_unit: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsAccrualUnit' description: Accrual unit future_events: type: - array - 'null' items: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsFutureEventsItems' accrual_amount: type: string description: Accrual amount tracking_period: type: string description: Tracking period balance_adjusted: type: - string - 'null' description: Balance adjusted time_off_event_id: type: string description: Time off event ID upcoming_accruals: type: string description: Upcoming accruals total_entitlements: type: string description: Total entitlements past_tracking_periods: type: array items: type: string is_allowance_unlimited: type: boolean description: True when the allowance is unlimited tracking_period_end_date: type: string description: Tracking period end date required: - available - tracking_period - total_entitlements - is_allowance_unlimited - tracking_period_end_date title: TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItems ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsRetrospectiveRequestType : type: string enum: - ALLOWED - NOT_ALLOWED - ALLOWED_WITH_APPROVAL description: Rule for requesting time off for past dates. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsRetrospectiveRequestType TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsTimeOffRequestType: type: string enum: - HALF_DAY - HOURLY - FULL_DAY - PERCENTAGE - PARTIAL_HOURS description: Type of time off requests allowed title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsTimeOffRequestType TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsPolicyTimeOffTypesItems: type: object properties: id: type: string format: uuid description: Time off type ID name: type: string description: Time off type name required: - id - name title: TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsPolicyTimeOffTypesItems TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsTimeOffDailiesItemsType: type: string enum: - WORKING_DAY - NON_WORKING_DAY - HOLIDAY description: Time off daily type title: TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsTimeOffDailiesItemsType TimeOffsValidatePostResponsesContentApplicationJsonSchemaErrorsItems: type: object properties: path: type: string description: The JSON path where input validation failed message: type: string description: A description of the returned error title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaErrorsItems TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsEntitlementUnit: type: string enum: - HOUR - BUSINESS_DAY - CALENDAR_DAY - WEEK - MONTH - YEAR description: The unit in which the time off usage and entitlement are calculated. title: TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsEntitlementUnit TimeOffsValidatePostRequestBodyContentApplicationJsonSchemaDataDatesItemsDayType: type: string enum: - HALF_DAY - FULL_DAY - PERCENTAGE - HOURLY description: The type of day for the time off request. All dates must follow the same type. title: TimeOffsValidatePostRequestBodyContentApplicationJsonSchemaDataDatesItemsDayType TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffTypePolicyPolicyType: type: object properties: id: type: string format: uuid description: Policy type id name: type: string description: Depicts the type of policy, like VACATION, SICK etc required: - id - name title: TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffTypePolicyPolicyType TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataDatesItemsType: type: string enum: - WORKING_DAY - NON_WORKING_DAY - HOLIDAY - FORFAIT_HOUR_DAY description: The type of day for the time off request. All dates must follow the same type. title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataDatesItemsType TimeOffsPostRequestBodyContentApplicationJsonSchemaDataDatesItemsDate: oneOf: - type: string format: date - type: string format: date-time description: An specific date in the time-off request title: TimeOffsPostRequestBodyContentApplicationJsonSchemaDataDatesItemsDate ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowanceProrationHireProrationRule : type: string enum: - NO_PRORATION - FULL_AMOUNT - PRORATED_MONTHLY - PRORATED_DAILY - COUNTRY_SPECIFIC - FULL_MONTH_PRORATION_BASED_ON_DAY - TENURE_BOUNDARY_PRORATION description: Rule for prorating entitlement upon hiring. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowanceProrationHireProrationRule TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsEventsItems: type: object properties: id: type: string format: uuid description: Event ID type: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsEventsItemsType' description: Event type amount: type: number format: double description: Event amount policy_id: type: string format: uuid description: Policy ID created_at: type: string format: date-time description: Event creation date event_date: type: string format: date-time description: Event date profile_id: type: string format: uuid description: Profile ID updated_at: type: string format: date-time description: Event update date description: type: string description: Event description time_off_id: type: string format: uuid description: Time off ID accrual_date: type: string format: date-time description: Accrual date expiration_date: type: string format: date-time description: Expiration date tracking_period: type: string format: date-time description: Tracking period rollover_tracking_period: type: string format: date-time description: Rollover tracking period required: - id - type - amount - policy_id - created_at - profile_id - updated_at - tracking_period title: TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsEventsItems TimeOffsDailiesGetResponsesContentApplicationJsonSchemaErrorsItems: type: object properties: path: type: string description: The JSON path where input validation failed message: type: string description: A description of the returned error title: TimeOffsDailiesGetResponsesContentApplicationJsonSchemaErrorsItems TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsTimeOffDailiesItemsTimeOffDailyType: type: string enum: - HOLIDAY - WORKING_DAY - NON_WORKING_DAY description: Type of work status or holiday title: TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsTimeOffDailiesItemsTimeOffDailyType TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsTrackingCadence: type: string enum: - FIXED_DAY - ANNIVERSARY description: Determines when the tracking cycle starts. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsTrackingCadence TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItemsTimeOffDailiesItems: type: object properties: id: type: string format: uuid description: Time off daily id date: type: string format: date description: Time off daily date type: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItemsTimeOffDailiesItemsType' description: Time off daily type amount: type: number format: double description: Time off daily amount created_at: type: string format: date-time description: Time off daily creation date updated_at: type: string format: date-time description: Time off daily update date description: type: - string - 'null' description: Time off daily description time_off_id: type: string format: uuid description: Time off id required: - id - date - type - amount - created_at - updated_at - time_off_id title: TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItemsTimeOffDailiesItems TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyType: type: object properties: id: type: string format: uuid description: Unique identifier of the policy type name: type: string description: Name of the policy type required: - id - name description: Type of this policy title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyType ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsAccrualType : type: string enum: - TIMEFRAME - EVENT_BASED - EVENT - TIME_OFF_IN_LIEU - HOURLY - LUMPSUM description: How entitlement accrues (over time or based on events). title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsAccrualType ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsAccrualApplicationType : type: string enum: - BEGIN_OF_CYCLE - BEGIN_OF_NEXT_CYCLE - END_OF_CYCLE description: When the accrued amount is applied to the balance. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsAccrualApplicationType TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataCountrySpecificValidationResultsItems: type: object properties: data: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataCountrySpecificValidationResultsItemsData' is_valid: type: boolean description: Indicates if this specific validation passed description: type: string description: A human-readable description of the validation result validation_type: type: string description: The type of validation rule being applied required: - validation_type description: Result of a specific country validation rule title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataCountrySpecificValidationResultsItems TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaDataDatesItemsDate: oneOf: - type: string format: date - type: string format: date-time description: An specific date in the time-off request title: TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaDataDatesItemsDate TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItems: type: object properties: amount: type: number format: double description: Amount of time off taken. This is the total amount of time off taken. For example, if you take 2 days off, this will be 2. If you take 1 day off, this will be 1. reason: type: string description: Reason for taking time off. This is complementary information for the time-off description. Useful to provide sub categories for the same policy. status: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsStatus' description: Status of the time off request. Can be REQUESTED, APPROVED, REJECTED, USED or CANCELED. is_paid: type: boolean description: Whether the time off is paid or unpaid. end_date: type: string format: date description: 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. created_at: type: string format: date-time description: This is the date when the time off request was created in the database. start_date: type: string format: date description: 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. updated_at: type: string format: date-time description: This is the date when the time off request was last updated in the database. approved_at: type: - string - 'null' format: date-time description: This is the date when the time off request was approved. This will be null if the time off request is not approved yet. attachments: type: array items: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsAttachmentsItems' description: List of attachments associated with the time off request. description: type: string description: Description of the time off request. Some policies require that a description is provided. contract_oid: type: - string - 'null' description: Contract id. This is the id of the contract associated with the time off request. requested_at: type: string format: date description: This is the date when the time off request was made. half_end_date: type: boolean description: Whether the end date is a half day or not. time_off_type: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffType' description: The type of time off taken. time_off_event: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffEvent' half_start_date: type: boolean description: Whether the start date is a half day or not. deduction_amount: type: - number - 'null' format: double description: Deduction amount. Available for independent contractor's policies entitlement_unit: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsEntitlementUnit' description: The unit in which the time off usage and entitlement are calculated. time_off_dailies: type: array items: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffDailiesItems' time_off_type_id: type: string format: uuid description: Time off type id. This is the id of the time off type associated with the time off request. recipient_profile: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsRecipientProfile' description: The time off profile of the recipient of the time off request. Must be a worker profile. requester_profile: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsRequesterProfile' description: The time off profile of the requester of the time off request. Can be either a client or worker profile. time_off_percentage: type: - number - 'null' format: double description: This is the percentage of time off taken. is_end_date_estimated: type: boolean description: Whether the end date is estimated or not. This is used on event based policies such as Parental leave. other_type_description: type: - string - 'null' description: Description of the time off type. This is used when the policy is OTHER. required: - is_paid - end_date - created_at - start_date - updated_at - requested_at - half_end_date - half_start_date - entitlement_unit - time_off_type_id description: Created time off request title: TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItems TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItems: type: object properties: id: type: string format: uuid description: Time off id amount: type: number format: double description: Amount of time off reason: type: string description: Reason for time off status: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItemsStatus' description: Status of time off is_paid: type: boolean description: Is time off paid end_date: type: string format: date description: End date of time off created_at: type: string format: date-time description: Time off creation date start_date: type: string format: date description: Start date of time off updated_at: type: string format: date-time description: Time off update date approved_at: type: - string - 'null' format: date-time description: Time off approval date description: type: - string - 'null' description: Time off description contract_oid: type: string description: Contract id requested_at: type: string format: date description: Time off request date half_end_date: type: boolean description: Is half end date. Only used for backwards compatibility, please do not use. half_start_date: type: boolean description: Is half start date. Only used for backwards compatibility, please do not use. deduction_amount: type: - number - 'null' format: double description: Deduction amount entitlement_unit: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItemsEntitlementUnit' description: The unit in which the time off usage and entitlement are calculated. time_off_dailies: type: array items: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItemsTimeOffDailiesItems' time_off_type_id: type: string description: Time off type id recipient_profile: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItemsRecipientProfile' requester_profile: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItemsRequesterProfile' time_off_percentage: type: - number - 'null' format: double description: Time off percentage is_end_date_estimated: type: boolean description: Is end date estimated other_type_description: type: - string - 'null' description: Other type description required: - id - amount - is_paid - end_date - created_at - start_date - updated_at - requested_at - half_end_date - half_start_date - entitlement_unit - time_off_type_id title: TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItems TimeOffsGlobalPayrollSyncPostRequestBodyContentApplicationJsonSchemaDataTimeOffsItemsOneOf0EntitlementUnit: type: string enum: - HOUR - BUSINESS_DAY - CALENDAR_DAY - WEEK - MONTH - YEAR description: The time unit for this time off. *Mandatory when amount parameter is informed*. If no amount and no entitlement_unit are informed, it will be calculated using Deel's internal country templates for compliant time off policies. title: TimeOffsGlobalPayrollSyncPostRequestBodyContentApplicationJsonSchemaDataTimeOffsItemsOneOf0EntitlementUnit TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsWasPrematureBirth: type: object properties: type: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsWasPrematureBirthType' description: The type of the field, indicating it is a boolean field required: type: boolean description: Indicates if the field is required required: - type - required description: Indicates if the child was born prematurely. Required for parental leave requests. title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsWasPrematureBirth TimeOffsPostRequestBodyContentApplicationJsonSchemaDataEndDate: oneOf: - type: string format: date - type: string format: date-time description: 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. title: TimeOffsPostRequestBodyContentApplicationJsonSchemaDataEndDate TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffEvent: type: object properties: id: type: string format: uuid description: The time off event id. This is used to link the time off request to an event. type: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffEventType' description: The type of the time off event. policy_id: type: string format: uuid description: The policy id associated with the time off event. Same as the policy_id in the time off type. created_at: type: string format: date-time description: The date when the time off event was created in the database. updated_at: type: string format: date-time description: The date when the time off event was last updated in the database. event_details: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffEventEventDetails' description: Details of the event associated with the time off request. Required for event based policies such as parental leave. hris_profile_id: type: string format: uuid description: The HRIS profile id of the worker associated with the time off event. Same as the hris_profile_id in the recipient_profile. time_off_type_id: type: string format: uuid description: The time off type id associated with the time off event. Same as the time_off_type_id in the time off request. title: TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffEvent TimeOffsGlobalPayrollSyncPostRequestBodyContentApplicationJsonSchemaDataTimeOffsItemsOneOf0PolicyType: type: string enum: - Adoption leave - Advanced vacation - Bereavement leave - Blood donation leave - Breastfeeding leave - Childbirth leave - Childcare leave - Civic/public duty leave - Disability leave - Doctor's appointment leave - Family & domestic violence leave - Floating Holiday Allowance - Hajj leave - Marriage/wedding leave - Maternity leave - Military leave - Moving leave - Other leave - Paid leave - Parental leave - Paternity leave - Personal leave - Pregnancy leave - Regional holiday - RTT - Sick leave - Study leave - Supplementary Leave - Unpaid leave - Vacation - Volunteer leave - Work accident leave description: The Deel policy type of the policy the time off is being requested for. title: TimeOffsGlobalPayrollSyncPostRequestBodyContentApplicationJsonSchemaDataTimeOffsItemsOneOf0PolicyType TimeOffsReviewPostResponsesContentApplicationJsonSchemaDataNotReviewedItems: type: object properties: id: type: string format: uuid description: Time off id error: type: string description: The error or reason why a time-off could not be reviewed required: - id - error title: TimeOffsReviewPostResponsesContentApplicationJsonSchemaDataNotReviewedItems TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsRetrospectiveRequestType: type: string enum: - ALLOWED - NOT_ALLOWED description: Type of retrospective requests allowed title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsRetrospectiveRequestType TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaErrorsItems: type: object properties: path: type: string description: The JSON path where input validation failed message: type: string description: A description of the returned error title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaErrorsItems UpdateTimeOffRequestRequestBadRequestError: type: object properties: errors: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaErrors' description: Error details request: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaRequest' description: Request metadata title: UpdateTimeOffRequestRequestBadRequestError ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsNoticePeriodUnit : type: string enum: - YEAR - MONTH - WEEK - DAY - BUSINESS_DAY - CALENDAR_DAY - HOUR description: Unit for the required notice period. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsNoticePeriodUnit time-off_getTimeOffEvents_Response_200: type: object properties: data: type: array items: $ref: '#/components/schemas/TimeOffsTimeOffEventsGetResponsesContentApplicationJsonSchemaDataItems' description: List of time off events for the profile required: - data description: List of time off events for the profile title: time-off_getTimeOffEvents_Response_200 TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOff: type: object properties: amount: type: number format: double description: Amount of time off taken. This is the total amount of time off taken. For example, if you take 2 days off, this will be 2. If you take 1 day off, this will be 1. reason: type: string description: Reason for taking time off. This is complementary information for the time-off description. Useful to provide sub categories for the same policy. status: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffStatus' description: Status of the time off request. Can be REQUESTED, APPROVED, REJECTED, USED or CANCELED. is_paid: type: boolean description: Whether the time off is paid or unpaid. end_date: type: string format: date description: 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. created_at: type: string format: date-time description: This is the date when the time off request was created in the database. start_date: type: string format: date description: 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. updated_at: type: string format: date-time description: This is the date when the time off request was last updated in the database. approved_at: type: - string - 'null' format: date-time description: This is the date when the time off request was approved. This will be null if the time off request is not approved yet. attachments: type: array items: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffAttachmentsItems' description: List of attachments associated with the time off request. description: type: string description: Description of the time off request. Some policies require that a description is provided. contract_oid: type: string description: Contract id. This is the id of the contract associated with the time off request. requested_at: type: string format: date description: This is the date when the time off request was made. half_end_date: type: boolean description: Whether the end date is a half day or not. time_off_type: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffType' description: The type of time off taken. time_off_event: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffEvent' half_start_date: type: boolean description: Whether the start date is a half day or not. deduction_amount: type: number format: double description: Deduction amount. Available for independent contractor's policies entitlement_unit: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffEntitlementUnit' description: The unit in which the time off usage and entitlement are calculated. time_off_dailies: type: array items: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffDailiesItems' description: Used to break down the time off request into daily records. Each entry represents a single day within the time off period, allowing for detailed tracking of working days, non-working days, and holidays included in the request. time_off_type_id: type: string format: uuid description: Time off type id. This is the id of the time off type associated with the time off request. recipient_profile: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffRecipientProfile' description: The time off profile of the recipient of the time off request. Must be a worker profile. requester_profile: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffRequesterProfile' description: The time off profile of the requester of the time off request. Can be either a client or worker profile. time_off_percentage: type: number format: double description: Used to specify the percentage of time off taken relative to full-time employment. This value ranges from 0 to 1, where 1 represents full-time (100%) and 0.5 represents part-time (50%). This is useful for part-time workers or when taking partial time off. is_end_date_estimated: type: boolean description: Used to indicate if the end date is an estimate rather than a confirmed date. This is particularly important for event-based policies such as Parental Leave, where the actual end date may depend on the actual birth or adoption date, which may not be known at the time of request submission. other_type_description: type: string description: Used to provide a custom description when the time off type is categorized as 'OTHER'. This allows users to specify the nature of time off that doesn't fit into standard categories, providing flexibility for unique or organization-specific time off types. required: - amount - is_paid - end_date - created_at - start_date - updated_at - requested_at - half_end_date - half_start_date - entitlement_unit - time_off_type_id description: Used to return the updated time off request after modification. Contains all the time off details including status, dates, amounts, and associated metadata. title: TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOff TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaDataEventDetails: type: object properties: birth_date: type: string format: date description: The birth date of the child. This is used for parental leave requests. adoption_date: type: string format: date description: The date of adoption. This is used for parental leave requests. is_confirmation: type: boolean description: Whether the event date are a confirmed or not. This is used for parental leave requests when either the birth date or adoption date are not estimated anymore but actually confirmed. was_premature_birth: type: boolean description: Whether the birth was premature or not. This is used for parental leave requests. had_multiple_children: type: boolean description: Whether the birth was multiple or not. This is used for parental leave requests. required: - birth_date - was_premature_birth - had_multiple_children description: Details of the event associated with the time off request. Required for event based policies such as parental leave. title: TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaDataEventDetails ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsBenefitsPayerType : type: string enum: - ORGANIZATION - GOVERNMENT description: Who pays for the benefits associated with this time off. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsBenefitsPayerType ApiErrorContainer: type: object properties: request: $ref: '#/components/schemas/ApiErrorRequest' errors: type: array items: $ref: '#/components/schemas/ApiError' title: ApiErrorContainer TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsAccrualUnit: type: string enum: - HOUR - BUSINESS_DAY - CALENDAR_DAY - WEEK - MONTH - YEAR description: Accrual unit title: TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsAccrualUnit TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItemsStatus: type: string enum: - REQUESTED - APPROVED - REJECTED - USED - CANCELED description: Status of time off title: TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItemsStatus TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsTimeOffDailiesItems: type: object properties: id: type: string format: uuid description: Time off daily id date: type: string format: date description: Time off daily date type: $ref: '#/components/schemas/TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsTimeOffDailiesItemsType' description: Time off daily type amount: type: number format: double description: Time off daily amount created_at: type: string format: date-time description: Time off daily creation date updated_at: type: string format: date-time description: Time off daily update date description: type: - string - 'null' description: Time off daily description time_off_id: type: string format: uuid description: Time off id required: - id - date - type - amount - created_at - updated_at - time_off_id title: TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsTimeOffDailiesItems TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsOverlapRequestType: type: string enum: - ALLOWED - NOT_ALLOWED description: Type of overlapping requests allowed title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsOverlapRequestType TimeOffsReviewPostResponsesContentApplicationJsonSchemaDataReviewedItemsStatus: type: string enum: - APPROVED - USED - REJECTED description: Time off status after review title: TimeOffsReviewPostResponsesContentApplicationJsonSchemaDataReviewedItemsStatus TimeOffsReviewPostResponsesContentApplicationJsonSchemaDataReviewedItems: type: object properties: id: type: string format: uuid description: Time off id status: $ref: '#/components/schemas/TimeOffsReviewPostResponsesContentApplicationJsonSchemaDataReviewedItemsStatus' description: Time off status after review required: - id - status title: TimeOffsReviewPostResponsesContentApplicationJsonSchemaDataReviewedItems TimeOffsProfileHrisProfileIdPoliciesGetParametersPolicyTypeName: type: string enum: - Moving leave - Adoption leave - Personal leave - Parental leave - Military leave - Childbirth leave - Study leave - Sick leave - Bereavement leave - Family & domestic violence leave - Marriage/wedding leave - Blood donation leave - Volunteer leave - Vacation - Doctor's appointment leave - Maternity leave - Hajj leave - Paternity leave - Civic/public duty leave - Childcare leave - Unpaid leave - Paid leave - Other leave - Disability leave - Pregnancy leave - RTT - Regional holiday - Breastfeeding leave - Advanced vacation title: TimeOffsProfileHrisProfileIdPoliciesGetParametersPolicyTypeName TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffType: type: object properties: id: type: string format: uuid description: Time off type id. name: type: string description: Time off type name. Basically the reason or category of time-off taken. For SICK leave, it can be doctor appointment, surgery etc. policy: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffTypePolicy' description: The policy associated with the time off type. required: - id - name description: The type of time off taken. title: TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffType ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsBalanceTrackingType : type: string enum: - FLEXIBLE_UP_TO_YEARLY_ALLOWANCE - FLEXIBLE_NO_LIMIT - FLEXIBLE_CUSTOM_AMOUNT - INFLEXIBLE description: How the balance is tracked (e.g., flexible, inflexible). title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsBalanceTrackingType TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffStatus: type: string enum: - REQUESTED - APPROVED - REJECTED - USED - CANCELED description: Status of the time off request. Can be REQUESTED, APPROVED, REJECTED, USED or CANCELED. title: TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffStatus TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsRolloversItems: type: object properties: amount: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsRolloversItemsAmount' expiration_date: type: string format: date-time description: Rollover expiration date rollover_tracking_period: type: string format: date-time description: Rollover tracking period required: - amount - rollover_tracking_period title: TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsRolloversItems ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsAttachmentCondition : type: string enum: - GREATER_THAN - LESS_THAN - GREATER_THAN_OR_EQUAL - LESS_THAN_OR_EQUAL description: Comparison operator if attachment is conditionally required. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsAttachmentCondition TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaDataEndDate: oneOf: - type: string format: date - type: string format: date-time description: 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. title: TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaDataEndDate ? TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsEntitlementStartType : type: string enum: - IMMEDIATELY - FIXED_PERIOD - FIXED_DAY description: Type of entitlement start title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsEntitlementStartType TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyType: type: object properties: id: type: string format: uuid description: Unique identifier of the policy type. name: type: string description: Name of the policy type. description: type: - string - 'null' description: Description of the policy type. description: Details of the associated policy type. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyType ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsEntitlementStartUnit : type: string enum: - YEAR - MONTH - WEEK - DAY - BUSINESS_DAY - CALENDAR_DAY - HOUR description: Unit for the start period if type is FIXED_PERIOD. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsEntitlementStartUnit time-off_getTimeOffProfile_Response_200: type: object properties: data: type: array items: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItems' next: type: string page_size: type: integer description: Page size has_next_page: type: boolean description: Has next page required: - data - page_size - has_next_page description: Time offs associated to the query title: time-off_getTimeOffProfile_Response_200 ApiErrorRequest: type: object properties: method: type: string description: The HTTP method of the failed request url: type: string description: The relative URL of the failed request status: type: number format: double description: The status code of the response api_req_id: type: string description: The request ID of the failed request docs: type: string description: A link to the official documentation for the requested endpoint resource source: type: string description: The source handler which produced the returned error code: type: number format: double description: The code of the source handler which produced the returned error title: ApiErrorRequest time-off_reviewTimeOffRequest_Response_201: type: object properties: data: $ref: '#/components/schemas/TimeOffsReviewPostResponsesContentApplicationJsonSchemaData' required: - data description: 'The response contains two lists: one for time-offs that were successfully reviewed and another for those that could not be reviewed. Each time-off in the reviewed list contains its ID and the status it was set to (either APPROVED/USED or REJECTED). The notReviewed list contains the IDs of time-offs that could not be reviewed along with an error message explaining why.' title: time-off_reviewTimeOffRequest_Response_201 TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataCountrySpecificValidationResultsNextTrackingPeriodItems: type: object properties: data: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataCountrySpecificValidationResultsNextTrackingPeriodItemsData' is_valid: type: boolean description: Indicates if this specific validation passed description: type: string description: A human-readable description of the validation result validation_type: type: string description: The type of validation rule being applied required: - validation_type description: Result of a specific country validation rule title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataCountrySpecificValidationResultsNextTrackingPeriodItems TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsAutoApprovalInactivityTimeUnit: type: string enum: - HOUR - BUSINESS_DAY - CALENDAR_DAY - WEEK - MONTH - YEAR description: Unit for auto-approval inactivity time title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsAutoApprovalInactivityTimeUnit TimeOffsValidatePostResponsesContentApplicationJsonSchemaRequest: type: object properties: url: type: string description: The relative URL of the failed request code: type: number format: double description: The code of the source handler which produced the returned error docs: type: string description: A link to the official documentation for the requested endpoint resource method: type: string description: The HTTP method of the failed request source: type: string description: The source handler which produced the returned error status: type: number format: double description: The status code of the response api_req_id: type: string description: The request ID of the failed request title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaRequest time-off_syncTimeOffGlobalPayroll_Response_200: type: object properties: data: $ref: '#/components/schemas/TimeOffsGlobalPayrollSyncPostResponsesContentApplicationJsonSchemaData' description: List of time offs persisted at Deel title: time-off_syncTimeOffGlobalPayroll_Response_200 ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsUploadAttachmentCondition : type: string enum: - REQUIRED - NOT_REQUIRED - CONDITIONALLY_REQUIRED - REQUIRED_WITH_CONDITION - ALWAYS_REQUIRED description: Condition under which an attachment is needed for a request. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsUploadAttachmentCondition TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsTrackingUnit: type: string enum: - YEAR - MONTH - WEEK - DAY - BUSINESS_DAY - CALENDAR_DAY - HOUR description: The unit used for tracking the policy cycle (e.g., yearly). title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsTrackingUnit ? TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataCountrySpecificValidationResultsNextTrackingPeriodItemsDataRangesItems : type: object properties: end_day: type: number format: double description: The end day in the range start_day: type: number format: double description: The start day in the range required: - start_day title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataCountrySpecificValidationResultsNextTrackingPeriodItemsDataRangesItems ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsAdoptionDateDefinition : type: string enum: - REQUIRED - OPTIONAL - FORBIDDEN description: Rule regarding the requirement of an adoption date for relevant policies. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsAdoptionDateDefinition TimeOffsReviewPostRequestBodyContentApplicationJsonSchemaDataItems: type: object properties: id: type: string description: Time off id status: $ref: '#/components/schemas/TimeOffsReviewPostRequestBodyContentApplicationJsonSchemaDataItemsStatus' description: Decision on whether the time off request was approved or rejected required: - id - status title: TimeOffsReviewPostRequestBodyContentApplicationJsonSchemaDataItems TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaDataDatesItemsDayType: type: string enum: - HALF_DAY - FULL_DAY - PERCENTAGE - HOURLY description: The type of day for the time off request. All dates must follow the same type. title: TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaDataDatesItemsDayType TimeOffsValidatePostRequestBodyContentApplicationJsonSchemaDataDatesItems: type: object properties: date: type: string format: date description: An specific date in the time-off request hours: type: number format: double description: The amount taken in hours during this specific date. It can not exceed the maximum allowed hours for the date. amount: type: number format: double description: The amount of time off requested for the date. It must be in the same time unit as in the total amount for the time off request. day_type: $ref: '#/components/schemas/TimeOffsValidatePostRequestBodyContentApplicationJsonSchemaDataDatesItemsDayType' description: The type of day for the time off request. All dates must follow the same type. required: - date description: The dates breakdown for the time off request. title: TimeOffsValidatePostRequestBodyContentApplicationJsonSchemaDataDatesItems ApproveRejectTimeOffRequests-v2026-01-01RequestBadRequestError: type: object properties: errors: type: array items: $ref: '#/components/schemas/TimeOffsReviewPostResponsesContentApplicationJsonSchemaErrorsItems' request: $ref: '#/components/schemas/TimeOffsReviewPostResponsesContentApplicationJsonSchemaRequest' title: ApproveRejectTimeOffRequests-v2026-01-01RequestBadRequestError TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsTimeOffTypesItems: type: object properties: id: type: string format: uuid description: Unique identifier of the time off type name: type: string description: Name of the time off type description: type: - string - 'null' description: Description of the time off type title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsTimeOffTypesItems ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsTerminationType : type: string enum: - NO_PAYOUT - PAYOUT_BALANCE description: Rule for handling the balance upon termination. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsTerminationType TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsStatus: type: string enum: - REQUESTED - APPROVED - REJECTED - USED - CANCELED description: Status of time off title: TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsStatus TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItems: type: object properties: holidays: type: array items: $ref: '#/components/schemas/TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsHolidaysItems' description: 'List of holidays within the date range ' work_schedule: $ref: '#/components/schemas/TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsWorkSchedule' description: Detail of working hours by week day for an HRIS profile time_off_dailies: type: array items: $ref: '#/components/schemas/TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsTimeOffDailiesItems' description: List of days with holiday or work status required: - holidays - work_schedule - time_off_dailies title: TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItems TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPaymentType: type: string enum: - PAID - UNPAID description: Payment type for the time off policy title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPaymentType TimeOffsTimeOffEventsGetResponsesContentApplicationJsonSchemaRequest: type: object properties: url: type: string description: The relative URL of the failed request code: type: number format: double description: The code of the source handler which produced the returned error docs: type: string description: A link to the official documentation for the requested endpoint resource method: type: string description: The HTTP method of the failed request source: type: string description: The source handler which produced the returned error status: type: number format: double description: The status code of the response api_req_id: type: string description: The request ID of the failed request title: TimeOffsTimeOffEventsGetResponsesContentApplicationJsonSchemaRequest TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsEventsItemsType: type: string enum: - ACCRUAL - ACCRUAL_DEDUCTION - ACCRUAL_PRORATE - ACCRUAL_TERMINATION - MANUAL_ADJUSTMENT - NO_ROLLOVER - ROLLOVER_ADJUSTMENT - ROLLOVER_CARRY_OVER - ROLLOVER_EXPIRATION - ROLLOVER_PAYOUT - ROLLOVER_PROJECTED - TIME_OFF description: Event type title: TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsEventsItemsType ListPoliciesRequestNotFoundError: type: object properties: message: type: string title: ListPoliciesRequestNotFoundError ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsAutoApprovalInactivityTimeUnit : type: string enum: - YEAR - MONTH - WEEK - DAY - BUSINESS_DAY - CALENDAR_DAY - HOUR description: Unit for the auto-approval inactivity period. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsAutoApprovalInactivityTimeUnit TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaRequest: type: object properties: url: type: string description: The relative URL of the failed request code: type: number format: double description: The code of the source handler which produced the returned error docs: type: string description: A link to the official documentation for the requested endpoint resource method: type: string description: The HTTP method of the failed request source: type: string description: The source handler which produced the returned error status: type: number format: double description: The status code of the response api_req_id: type: string description: The request ID of the failed request title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaRequest TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsTimeOffTypePolicyPolicyType: type: object properties: id: type: string format: uuid description: Policy type id name: type: string description: Depicts the type of policy, like VACATION, SICK etc required: - id - name title: TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsTimeOffTypePolicyPolicyType ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItems : type: object properties: id: type: string format: uuid description: Unique identifier for the policy allowance. name: type: string description: Name of the allowance. type: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsType' description: Type of allowance (base or additional). accrual_type: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsAccrualType' description: How entitlement accrues (over time or based on events). accrual_unit: oneOf: - $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsAccrualUnit' - type: 'null' description: Unit for accrual if type is TIMEFRAME. rollover_type: oneOf: - $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsRolloverType' - type: 'null' description: Rule for carrying over unused balance to the next cycle. entitlement_unit: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsEntitlementUnit' description: Unit in which the entitlement is measured. termination_type: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsTerminationType' description: Rule for handling the balance upon termination. accrual_unit_amount: type: - integer - 'null' description: Amount of accrual per unit if type is TIMEFRAME. enable_bank_holidays: type: boolean description: Whether bank holidays affect the entitlement or usage. accrual_prorate_types: type: - array - 'null' items: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsAccrualProrateTypesItems' description: Specifies conditions under which accrual should be prorated. balance_tracking_type: oneOf: - $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsBalanceTrackingType' - type: 'null' description: How the balance is tracked (e.g., flexible, inflexible). entitlement_start_type: oneOf: - $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsEntitlementStartType' - type: 'null' description: When the entitlement starts. entitlement_start_unit: oneOf: - $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsEntitlementStartUnit' - type: 'null' description: Unit for the start period if type is FIXED_PERIOD. entitlement_unit_amount: type: - number - 'null' format: double description: Amount of entitlement granted in entitlement_unit. accrual_application_type: oneOf: - $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsAccrualApplicationType' - type: 'null' description: When the accrued amount is applied to the balance. rollover_expiration_unit: oneOf: - $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsRolloverExpirationUnit' - type: 'null' description: Unit for the expiration period of rolled-over balance. additional_allowance_rules: type: array items: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsAdditionalAllowanceRulesItems' description: Specific rules governing additional allowances. rollover_limit_unit_amount: type: - integer - 'null' description: Maximum amount that can be rolled over if type is LIMITED_ROLLOVER. entitlement_expiration_unit: oneOf: - $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsEntitlementExpirationUnit' - type: 'null' description: Unit for entitlement expiration period. entitlement_start_unit_amount: type: - integer - 'null' description: Amount for the start period if type is FIXED_PERIOD. rollover_expiration_unit_amount: type: - integer - 'null' description: Amount for the expiration period of rolled-over balance. entitlement_expiration_unit_amount: type: - integer - 'null' description: Amount for entitlement expiration period. zero_out_negative_balances_on_rollover: type: boolean description: Whether negative balances are reset to zero at rollover. part_time_worker_additional_allowance_type: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsPartTimeWorkerAdditionalAllowanceType' description: How additional allowances apply to part-time workers. balance_tracking_flexible_custom_request_amount: type: - integer - 'null' description: Custom amount for flexible balance tracking if applicable. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItems ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsTimeOffTypeValidationsItems : type: object properties: {} title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsTimeOffTypeValidationsItems ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsTimeOffRequestType : type: string enum: - FULL_DAY - HALF_DAY - HOURLY - PERCENTAGE - FLEXIBLE description: Allowed types of time off requests (e.g., full day, hourly). title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsTimeOffRequestType time-off_deleteTimeOffRequest_Response_204: type: object properties: {} title: time-off_deleteTimeOffRequest_Response_204 TimeOffsGlobalPayrollSyncPostRequestBodyContentApplicationJsonSchemaDataTimeOffsItems1: type: object properties: deleted: type: boolean description: Indicates this time off request must be deleted external_id: type: string description: 'External ID to link a Deel time off object with an external time off object. It will be used to determine which operation should be done: INSERT, UPDATE or DELETE.' contract_oid: type: string description: The contract id that has requested the time off. required: - deleted - external_id - contract_oid title: TimeOffsGlobalPayrollSyncPostRequestBodyContentApplicationJsonSchemaDataTimeOffsItems1 TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItems: type: object properties: id: type: string format: uuid description: Unique identifier of the policy name: type: string description: Name of the policy created_at: type: string format: date-time description: Date and time when the policy was created leave_type: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsLeaveType' description: Type of leave for this policy updated_at: type: string format: date-time description: Date and time when the policy was last updated description: type: - string - 'null' description: Description of the policy policy_type: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyType' description: Type of this policy payment_type: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPaymentType' description: Payment type for the time off policy tracking_unit: oneOf: - $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsTrackingUnit' - type: 'null' description: Unit used for tracking policy periods policy_type_id: type: string format: uuid description: Unique identifier of the policy type time_off_types: type: array items: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsTimeOffTypesItems' description: Time off types associated with this policy tracking_cadence: oneOf: - $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsTrackingCadence' - type: 'null' description: Cadence for tracking policy periods policy_allowances: type: array items: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItems' description: Allowances associated with this policy notice_period_unit: oneOf: - $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsNoticePeriodUnit' - type: 'null' description: Unit for notice period request_start_type: oneOf: - $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsRequestStartType' - type: 'null' description: Type of request start configuration request_start_unit: oneOf: - $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsRequestStartUnit' - type: 'null' description: Unit used for request start configuration tracking_start_date: type: - string - 'null' format: date description: Start date for tracking policy periods overlap_request_type: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsOverlapRequestType' description: Type of overlapping requests allowed tracking_unit_amount: type: - number - 'null' format: double description: Amount of tracking units time_off_request_type: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsTimeOffRequestType' description: Type of time off requests allowed is_attachment_required: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsIsAttachmentRequired' description: Whether an attachment is required for time off requests is_description_required: type: boolean description: Whether a description is required for time off requests notice_period_unit_amount: type: - number - 'null' format: double description: Amount of notice period units request_start_unit_amount: type: - number - 'null' format: double description: Amount of request start units policy_allowance_proration: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowanceProration' description: Proration configuration for policy allowances retrospective_request_type: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsRetrospectiveRequestType' description: Type of retrospective requests allowed allow_to_edit_past_time_offs: type: boolean description: Whether editing past time offs is allowed auto_approval_inactivity_time_unit: oneOf: - $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsAutoApprovalInactivityTimeUnit' - type: 'null' description: Unit for auto-approval inactivity time auto_approval_inactivity_time_unit_amount: type: - number - 'null' format: double description: Amount of auto-approval inactivity time units required: - id - name - created_at - leave_type - updated_at - policy_type - payment_type - tracking_unit - policy_allowances - notice_period_unit - request_start_type - request_start_unit - overlap_request_type - tracking_unit_amount - time_off_request_type - is_attachment_required - is_description_required - notice_period_unit_amount - request_start_unit_amount - policy_allowance_proration - retrospective_request_type - allow_to_edit_past_time_offs - auto_approval_inactivity_time_unit - auto_approval_inactivity_time_unit_amount description: Time off policy title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItems CreateTimeOffRequest-v2026-01-01RequestForbiddenError: type: object properties: errors: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaErrors' description: Error details request: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaRequest' description: Request metadata title: CreateTimeOffRequest-v2026-01-01RequestForbiddenError TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsTimeOffTypePolicy: type: object properties: id: type: string format: uuid description: Policy id name: type: string description: The custom name given to policy during policy creation. policy_type: $ref: '#/components/schemas/TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsTimeOffTypePolicyPolicyType' required: - id - name - policy_type title: TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsTimeOffTypePolicy ApiError: type: object properties: message: type: string description: A description of the returned error path: type: string description: The JSON path where input validation failed title: ApiError TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsEntitlementUnit: type: string enum: - HOUR - BUSINESS_DAY - CALENDAR_DAY - WEEK - MONTH - YEAR description: The unit in which the time off usage and entitlement are calculated. title: TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsEntitlementUnit TimeOffsGlobalPayrollSyncPostResponsesContentApplicationJsonSchemaErrorsItems: type: object properties: path: type: string description: The JSON path where input validation failed message: type: string description: A description of the returned error title: TimeOffsGlobalPayrollSyncPostResponsesContentApplicationJsonSchemaErrorsItems TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItemsTimeOffDailiesItemsType: type: string enum: - WORKING_DAY - NON_WORKING_DAY - HOLIDAY description: Time off daily type title: TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItemsTimeOffDailiesItemsType TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffEventType: type: string enum: - PARENTAL_LEAVE description: The type of the time off event. title: TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffEventType TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffDailiesItemsType: type: string enum: - WORKING_DAY - NON_WORKING_DAY - HOLIDAY description: Type of the time off daily. Can be WORKING_DAY, NON_WORKING_DAY or HOLIDAY. title: TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffDailiesItemsType time-off_getTimeOffEntitlements_Response_200: type: object properties: entitlements: type: array items: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItems' hris_profile_id: type: string description: HRIS profile ID required: - entitlements - hris_profile_id title: time-off_getTimeOffEntitlements_Response_200 time-off_getTimeOffPolicyValidationTemplates_Response_200: type: object properties: data: $ref: '#/components/schemas/TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaData' title: time-off_getTimeOffPolicyValidationTemplates_Response_200 TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffDailiesItems: type: object properties: id: type: string format: uuid description: Time off daily id date: type: string format: date description: Date of the time off daily. This is the date when the time off was taken. type: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffDailiesItemsType' description: Type of the time off daily. Can be WORKING_DAY, NON_WORKING_DAY or HOLIDAY. amount: type: number format: double description: Amount of time off taken in this specific date. created_at: type: string format: date-time description: This is the date when the time off daily was created in the database. updated_at: type: string format: date-time description: This is the date when the time off daily was last updated in the database. description: type: - string - 'null' description: Description of the time off daily. When it is a HOLIDAY this is the holiday name. time_off_id: type: string format: uuid description: Time off id. This is the id of the time off request associated with the time off daily. required: - id - date - type - amount - created_at - updated_at - time_off_id title: TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffDailiesItems TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataCountrySpecificValidationResultsNextTrackingPeriodItemsData: type: object properties: ranges: type: array items: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataCountrySpecificValidationResultsNextTrackingPeriodItemsDataRangesItems' description: Date ranges that were validated max_requests: type: number format: double description: Maximum number of requests allowed by this validation rule remaining_balance: type: number format: double description: Remaining balance at the time of applying this rule title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataCountrySpecificValidationResultsNextTrackingPeriodItemsData ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowanceProrationTerminationProrationRule : type: string enum: - NO_PRORATION - FULL_AMOUNT - PRORATED_MONTHLY - PRORATED_DAILY - COUNTRY_SPECIFIC - FULL_MONTH_PRORATION_BASED_ON_DAY - TENURE_BOUNDARY_PRORATION description: Rule for prorating entitlement upon termination. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowanceProrationTerminationProrationRule TimeOffsPostRequestBodyContentApplicationJsonSchemaData: type: object properties: dates: type: array items: $ref: '#/components/schemas/TimeOffsPostRequestBodyContentApplicationJsonSchemaDataDatesItems' description: The dates breakdown for the time off request. reason: type: - string - 'null' description: Reason for taking time off. This is complementary information for the time-off description. Useful to provide sub categories for the same policy. status: $ref: '#/components/schemas/TimeOffsPostRequestBodyContentApplicationJsonSchemaDataStatus' description: Status for the time off request. When set to REQUESTED the time off should be reviewed later through the Approve/Reject time off api. is_paid: type: boolean description: Whether the time off is paid or unpaid. By default it follows the policy configuration. end_date: $ref: '#/components/schemas/TimeOffsPostRequestBodyContentApplicationJsonSchemaDataEndDate' description: 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. policy_id: type: string format: uuid description: The time off policy id. Can be used in place of time_off_type_id start_date: $ref: '#/components/schemas/TimeOffsPostRequestBodyContentApplicationJsonSchemaDataStartDate' description: 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. description: type: - string - 'null' description: Description of the time off request. Some policies require that a description is provided. contract_oid: type: - string - 'null' description: Contract id. This is the id of the contract associated with the time off request. event_details: $ref: '#/components/schemas/TimeOffsPostRequestBodyContentApplicationJsonSchemaDataEventDetails' description: Details of the event associated with the time off request. Required for event based policies such as parental leave. deduction_amount: type: - number - 'null' format: double description: Deduction amount. Available for independent contractor's policies time_off_type_id: type: string format: uuid description: The time off type id. Required when policy_id is not provided time_off_event_id: type: string format: uuid description: The time off event id. This is used to link the time off request to an event. time_off_percentage: type: - number - 'null' format: double description: This is the percentage of time off taken. This is used when the time off request is a percentage. recipient_profile_id: type: string format: uuid description: The hris profile id of the recipient other_type_description: type: - string - 'null' description: Description of the time off type. This is used when the policy is OTHER. required: - end_date - start_date - recipient_profile_id description: The time off request data title: TimeOffsPostRequestBodyContentApplicationJsonSchemaData TimeOffsGlobalPayrollSyncPostRequestBodyContentApplicationJsonSchemaDataTimeOffsItems0: type: object properties: amount: type: number format: double description: The amount in time units for this time off. When no amount is informed, it will be calculated using work schedules and public holidays defined at Deel. is_paid: type: boolean default: true description: Allows the consumer to specify whether the time off is considered as paid (at statutory) or unpaid based on the configuration of the policy in the external HRIS. end_date: type: string format: date description: The end date of the time off. start_date: type: string format: date description: The start date of the time off. approved_at: type: string format: date default: time off start date description: 'The approval date of the time off. If no approval date is informed, the start date of this request will be used as the approval date. Note: use this field in order to support retrospective leaves so Deel can identify requests made after the payroll cycle.' description: type: - string - 'null' description: The description of the time off. external_id: type: string description: 'External ID to link a Deel time off object with an external time off object. It will be used to determine which operation should be done: INSERT, UPDATE or DELETE.' policy_name: type: string description: 'The policy name the time off is being requested for. If not informed, a default name will be generated using the policy type and contract''s country (eg: Vacation - US).' policy_type: oneOf: - $ref: '#/components/schemas/TimeOffsGlobalPayrollSyncPostRequestBodyContentApplicationJsonSchemaDataTimeOffsItemsOneOf0PolicyType' - type: 'null' description: The Deel policy type of the policy the time off is being requested for. contract_oid: type: string description: The contract id that has requested the time off. requested_at: type: string format: date description: The request date of the time off. entitlement_unit: $ref: '#/components/schemas/TimeOffsGlobalPayrollSyncPostRequestBodyContentApplicationJsonSchemaDataTimeOffsItemsOneOf0EntitlementUnit' description: The time unit for this time off. *Mandatory when amount parameter is informed*. If no amount and no entitlement_unit are informed, it will be calculated using Deel's internal country templates for compliant time off policies. required: - end_date - start_date - external_id - policy_type - contract_oid title: TimeOffsGlobalPayrollSyncPostRequestBodyContentApplicationJsonSchemaDataTimeOffsItems0 TimeOffsValidatePostResponsesContentApplicationJsonSchemaData: type: object properties: dates: type: array items: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataDatesItems' description: The dates breakdown for the time off request. amount: type: number format: double description: The amount of time off requested. is_valid: type: boolean description: Indicates if the time off request is valid or not. When false, the response will contain an error message. new_end_date: type: string format: date description: The new end date for the time off request. It could be different from the original end date depending on the policy configuration. For example, for forfait-jour policies is_event_based: type: boolean description: Indicates if the time off request is event-based, such as parental leave new_start_date: type: string format: date description: The new start date for the time off request. It could be different from the original start date depending on the policy configuration. For example, for forfait-jour policies remaining_balance: type: number format: double description: The remaining policy balance for the tracking period require_attachment: type: boolean description: Indicates if an attachment is required for the time off request require_description: type: boolean description: Indicates if a description is required for the time off request event_details_fields: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFields' description: Fields required for specific time off requests, such as parental leave. max_time_off_percentage: type: number format: double description: The maximum time off percentage allowed for the request validation_error_message: type: string description: Error message when the time off request is invalid amount_next_tracking_period: type: number format: double description: The amount of time off requested to be applicable in the next tracking period. country_specific_validation_results: type: array items: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataCountrySpecificValidationResultsItems' description: Results of country-specific validation rules remaining_balance_next_tracking_period: type: number format: double description: The remaining policy balance for the next tracking period country_specific_validation_results_next_tracking_period: type: array items: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataCountrySpecificValidationResultsNextTrackingPeriodItems' description: Results of country-specific validation rules required: - is_valid description: Time off request validation result title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaData TimeOffsTimeOffEventsGetResponsesContentApplicationJsonSchemaDataItems: type: object properties: id: type: string format: uuid description: Time off event id type: type: string description: The type of event policy_id: type: string description: Policy id created_at: type: string format: date-time description: Time off creation date updated_at: type: string format: date-time description: Time off update date event_details: $ref: '#/components/schemas/TimeOffsTimeOffEventsGetResponsesContentApplicationJsonSchemaDataItemsEventDetails' description: Details of the time off event hris_profile_id: type: string format: uuid description: Worker hris profile id time_off_type_id: type: string description: Time off type id required: - id - type - policy_id - created_at - updated_at - event_details - hris_profile_id - time_off_type_id description: Time off event object title: TimeOffsTimeOffEventsGetResponsesContentApplicationJsonSchemaDataItems TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffEventType: type: string enum: - PARENTAL_LEAVE description: The type of the time off event. title: TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffEventType TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyTypesItems: type: object properties: id: type: string format: uuid description: Unique identifier of the policy type. name: type: string description: Name of the policy type. description: type: - string - 'null' description: Description of the policy type. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyTypesItems TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaDataStartDate: oneOf: - type: string format: date - type: string format: date-time description: 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. title: TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaDataStartDate ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsEntitlementUnit : type: string enum: - YEAR - MONTH - WEEK - DAY - BUSINESS_DAY - CALENDAR_DAY - HOUR description: Unit in which the entitlement is measured. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsEntitlementUnit time-off_getTimeOffPolicies_Response_200: type: object properties: policies: type: array items: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItems' title: time-off_getTimeOffPolicies_Response_200 TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaData: type: object properties: dates: type: array items: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaDataDatesItems' description: The dates breakdown for the time off request. reason: type: - string - 'null' description: Reason for taking time off. This is complementary information for the time-off description. Useful to provide sub categories for the same policy. is_paid: type: boolean description: Whether the time off is paid or unpaid. By default it follows the policy configuration. end_date: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaDataEndDate' description: 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. policy_id: type: string format: uuid description: The time off policy id. Can be used in place of time_off_type_id start_date: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaDataStartDate' description: 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. description: type: - string - 'null' description: Description of the time off request. Some policies require that a description is provided. contract_oid: type: - string - 'null' description: Contract id. This is the id of the contract associated with the time off request. event_details: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaDataEventDetails' description: Details of the event associated with the time off request. Required for event based policies such as parental leave. deduction_amount: type: - number - 'null' format: double description: Deduction amount. Available for independent contractor's policies time_off_type_id: type: string format: uuid description: The time off type id. Required when policy_id is not provided time_off_event_id: type: string format: uuid description: The time off event id. This is used to link the time off request to an event. time_off_percentage: type: - number - 'null' format: double description: This is the percentage of time off taken. This is used when the time off request is a percentage. recipient_profile_id: type: string format: uuid description: The hris profile id of the recipient other_type_description: type: - string - 'null' description: Description of the time off type. This is used when the policy is OTHER. required: - end_date - start_date - recipient_profile_id description: Time off update request data title: TimeOffsTimeOffIdPatchRequestBodyContentApplicationJsonSchemaData TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItemsEntitlementUnit: type: string enum: - HOUR - BUSINESS_DAY - CALENDAR_DAY - WEEK - MONTH - YEAR description: The unit in which the time off usage and entitlement are calculated. title: TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItemsEntitlementUnit CreateTimeOffRequest-v2026-01-01RequestNotFoundError: type: object properties: errors: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaErrors' description: Error details request: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaRequest' description: Request metadata title: CreateTimeOffRequest-v2026-01-01RequestNotFoundError ? TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsRolloverExpirationUnit : type: string enum: - HOUR - BUSINESS_DAY - CALENDAR_DAY - WEEK - MONTH - YEAR description: Unit used for rollover expiration title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsRolloverExpirationUnit TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsRolloversItemsAmount: oneOf: - type: number format: double - type: string title: TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsRolloversItemsAmount TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffRecipientProfile: type: object properties: hris_profile_id: type: string format: uuid description: The worker HRIS profile id in the given organization. organization_id: type: string format: uuid description: Id of the organization the profile belongs to. required: - hris_profile_id - organization_id description: The time off profile of the recipient of the time off request. Must be a worker profile. title: TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffRecipientProfile TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffTypePolicy: type: object properties: id: type: string format: uuid description: Policy id name: type: string description: The custom name given to policy during policy creation. policy_type: $ref: '#/components/schemas/TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffTypePolicyPolicyType' required: - id - name - policy_type description: The policy associated with the time off type. title: TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffTypePolicy ? TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsEntitlementUnit : type: string enum: - HOUR - BUSINESS_DAY - CALENDAR_DAY - WEEK - MONTH - YEAR description: Unit used for entitlement title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsEntitlementUnit TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffTypePolicyPolicyType: type: object properties: id: type: string format: uuid description: Policy type id name: type: string description: Depicts the type of policy, like VACATION, SICK etc required: - id - name title: TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffTypePolicyPolicyType ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsAccrualUnit : type: string enum: - YEAR - MONTH - WEEK - DAY - BUSINESS_DAY - CALENDAR_DAY - HOUR description: Unit for accrual if type is TIMEFRAME. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsAccrualUnit TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffEvent: type: object properties: id: type: string format: uuid description: The time off event id. This is used to link the time off request to an event. type: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffEventType' description: The type of the time off event. policy_id: type: string format: uuid description: The policy id associated with the time off event. Same as the policy_id in the time off type. created_at: type: string format: date-time description: The date when the time off event was created in the database. updated_at: type: string format: date-time description: The date when the time off event was last updated in the database. event_details: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffEventEventDetails' description: Details of the event associated with the time off request. Required for event based policies such as parental leave. hris_profile_id: type: string format: uuid description: The HRIS profile id of the worker associated with the time off event. Same as the hris_profile_id in the recipient_profile. time_off_type_id: type: string format: uuid description: The time off type id associated with the time off event. Same as the time_off_type_id in the time off request. title: TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffEvent TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsHolidaysItems: type: object properties: date: type: string format: date-time description: Date of the holiday name: type: string description: Name of the holiday type: $ref: '#/components/schemas/TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsHolidaysItemsType' description: Type of the holiday source: oneOf: - $ref: '#/components/schemas/TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsHolidaysItemsSource' - type: 'null' description: Source of creation of the holiday states: type: array items: type: string description: List of states where the holiday is celebrated, if empty it is a country holiday country: type: string description: The ISO 3166-1 alpha-2 country code. description: type: - string - 'null' description: Description of the holiday parsed_date: type: string format: date-time description: Parsed date time of the holiday is_mandatory: type: boolean description: Describes if the holiday is mandatory is_every_year: type: boolean description: Sets if the holiday is a recurring event formatted_date: type: string format: date description: Formated 'YYYY-MM-DD' date of the holiday name_variations: type: array items: type: string description: Alternative names or labels used to refer to this holiday created_by_profile_id: type: - number - 'null' format: double description: HRIS profile id of the creator of the holiday required: - date - name - type - source - description - is_mandatory - is_every_year - formatted_date title: TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsHolidaysItems TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataCountrySpecificValidationResultsItemsDataRangesItems: type: object properties: end_day: type: number format: double description: The end day in the range start_day: type: number format: double description: The start day in the range required: - start_day title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataCountrySpecificValidationResultsItemsDataRangesItems TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsHolidaysItemsSource: type: string enum: - EXTERNAL - DEEL - ORGANIZATION_CUSTOM - ORGANIZATION_OVERRIDE - ORGANIZATION_CONVERT description: Source of creation of the holiday title: TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsHolidaysItemsSource TimeOffsGlobalPayrollSyncPostRequestBodyContentApplicationJsonSchemaData: type: object properties: time_offs: type: array items: $ref: '#/components/schemas/TimeOffsGlobalPayrollSyncPostRequestBodyContentApplicationJsonSchemaDataTimeOffsItems' required: - time_offs title: TimeOffsGlobalPayrollSyncPostRequestBodyContentApplicationJsonSchemaData TimeOffsPostResponsesContentApplicationJsonSchemaRequest: type: object properties: url: type: string description: Request URL path docs: type: string description: Documentation reference method: type: string description: HTTP method source: type: string description: Request source status: type: integer description: HTTP status code api_req_id: type: string description: Unique API request identifier description: Request metadata title: TimeOffsPostResponsesContentApplicationJsonSchemaRequest TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataDatesItemsDayTypesItems: type: string enum: - FULL_DAY - HALF_DAY - PERCENTAGE - HOURLY description: The type of leave for the day. title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataDatesItemsDayTypesItems ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsOverlapRequestType : type: string enum: - ALLOWED - NOT_ALLOWED - ALLOWED_WITH_APPROVAL description: Rule for requesting time off that overlaps with existing requests. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsOverlapRequestType TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataDatesItems: type: object properties: date: type: string format: date description: An specific date in the time-off request type: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataDatesItemsType' description: The type of day for the time off request. All dates must follow the same type. hours: type: array items: type: number format: double description: The maximum allowed number of hours that can be take in this specific date. For example, if there is another leave taking 3 hours in the same date, the maximum allowed hours will be 5 (assuming a work schedule of 8 hours). amount: type: number format: double description: The amount of time off requested for the date. It uses the same time unit as in the total amount for the time off request. day_types: type: array items: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataDatesItemsDayTypesItems' description: The types of leave available for the date. Either FULL_DAY or HALF_DAY. holiday_name: type: string description: The name of the holiday for the date. Only applicable for holidays. Only present when date type is HOLIDAY. time_off_percentage: type: number format: double description: The percentage of time off requested for the date. For example, if the request is for a full day, the percentage will be 1. If it's for half a day, the percentage will be 0.5. required: - date - type title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataDatesItems TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsLeaveType: type: string enum: - SHORT_TERM_LEAVE - LONG_TERM_LEAVE description: Classification of the leave duration. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsLeaveType TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItemsRequesterProfile: type: object properties: hris_profile_id: type: string format: uuid description: Request hris profile id organization_id: type: string format: uuid description: Request organization id client_profile_id: type: string format: uuid description: Request client profile id title: TimeOffsProfileHrisProfileIdGetResponsesContentApplicationJsonSchemaDataItemsRequesterProfile TimeOffsPostRequestBodyContentApplicationJsonSchemaDataStatus: type: string enum: - REQUESTED - APPROVED default: APPROVED description: Status for the time off request. When set to REQUESTED the time off should be reviewed later through the Approve/Reject time off api. title: TimeOffsPostRequestBodyContentApplicationJsonSchemaDataStatus TimeOffsReviewPostResponsesContentApplicationJsonSchemaData: type: object properties: reviewed: type: array items: $ref: '#/components/schemas/TimeOffsReviewPostResponsesContentApplicationJsonSchemaDataReviewedItems' not_reviewed: type: array items: $ref: '#/components/schemas/TimeOffsReviewPostResponsesContentApplicationJsonSchemaDataNotReviewedItems' required: - reviewed - not_reviewed title: TimeOffsReviewPostResponsesContentApplicationJsonSchemaData TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffEntitlementUnit: type: string enum: - HOUR - BUSINESS_DAY - CALENDAR_DAY - WEEK - MONTH - YEAR description: The unit in which the time off usage and entitlement are calculated. title: TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffEntitlementUnit TimeOffsGlobalPayrollSyncPostRequestBodyContentApplicationJsonSchemaDataTimeOffsItems: oneOf: - $ref: '#/components/schemas/TimeOffsGlobalPayrollSyncPostRequestBodyContentApplicationJsonSchemaDataTimeOffsItems0' - $ref: '#/components/schemas/TimeOffsGlobalPayrollSyncPostRequestBodyContentApplicationJsonSchemaDataTimeOffsItems1' title: TimeOffsGlobalPayrollSyncPostRequestBodyContentApplicationJsonSchemaDataTimeOffsItems TimeOffsProfileHrisProfileIdGetParametersStatusSchemaItems: type: string enum: - REQUESTED - APPROVED - REJECTED - USED - CANCELED title: TimeOffsProfileHrisProfileIdGetParametersStatusSchemaItems TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffEventEventDetails: type: object properties: birth_date: type: string format: date description: The birth date of the child. This is used for parental leave requests. adoption_date: type: string format: date description: The date of adoption. This is used for parental leave requests. was_premature_birth: type: boolean description: Whether the birth was premature or not. This is used for parental leave requests. estimated_birth_date: type: string format: date description: The estimated birth date of the child. Birth is estimated when the birth date has not been confirmed yet. had_multiple_children: type: boolean description: Whether the birth was multiple or not. This is used for parental leave requests. estimated_adoption_date: type: string format: date description: The estimated adoption date of the child. Birth is estimated when the adoption date has not been confirmed yet. required: - was_premature_birth - had_multiple_children description: Details of the event associated with the time off request. Required for event based policies such as parental leave. title: TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsTimeOffEventEventDetails ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsRolloverType : type: string enum: - NO_ROLLOVER - LIMITED_ROLLOVER - UNLIMITED_ROLLOVER - PAY_OUT - CARRY_OVER - CARRY_OVER_PAY_OUT description: Rule for carrying over unused balance to the next cycle. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsRolloverType TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsPolicy: type: object properties: id: type: string format: uuid description: Policy ID name: type: string description: Policy name created_at: type: string format: date-time description: Policy creation date leave_type: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsPolicyLeaveType' description: Leave type updated_at: type: string format: date-time description: Policy update date description: type: string description: Policy description policy_type: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsPolicyPolicyType' tracking_unit: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsPolicyTrackingUnit' description: Tracking unit policy_type_id: type: string format: uuid description: Policy type ID time_off_types: type: array items: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsPolicyTimeOffTypesItems' tracking_cadence: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsPolicyTrackingCadence' description: Tracking cadence tracking_start_date: type: string format: date description: Tracking start date tracking_unit_amount: type: number format: double description: Tracking unit amount required: - id - name - created_at - updated_at title: TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsPolicy ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsType : type: string enum: - BASE_ALLOWANCE - ADDITIONAL_ALLOWANCE description: Type of allowance (base or additional). title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsType ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsAccrualProrateTypesItems : type: string enum: - PRORATE_UNPAID_LEAVE - PRORATE_PAID_LEAVE - NO_PRORATE title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsAccrualProrateTypesItems TimeOffsPostRequestBodyContentApplicationJsonSchemaDataDatesItemsDayType: type: string enum: - HALF_DAY - FULL_DAY - PERCENTAGE - HOURLY description: The type of day for the time off request. All dates must follow the same type. title: TimeOffsPostRequestBodyContentApplicationJsonSchemaDataDatesItemsDayType ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsAdditionalAllowanceRulesItems : type: object properties: {} title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsAdditionalAllowanceRulesItems TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsRequestStartType: type: string enum: - IMMEDIATELY - FIXED_PERIOD description: Type of request start configuration title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsRequestStartType TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsStatus: type: string enum: - REQUESTED - APPROVED - REJECTED - USED - CANCELED description: Status of the time off request. Can be REQUESTED, APPROVED, REJECTED, USED or CANCELED. title: TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsStatus GetWorkScheduleAndHolidaysRequestBadRequestError: type: object properties: errors: type: array items: $ref: '#/components/schemas/TimeOffsDailiesGetResponsesContentApplicationJsonSchemaErrorsItems' request: $ref: '#/components/schemas/TimeOffsDailiesGetResponsesContentApplicationJsonSchemaRequest' title: GetWorkScheduleAndHolidaysRequestBadRequestError ? TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowanceProrationPartTimeWorkerTreatmentType : type: string enum: - SAME_AS_FTE - PERCENTAGE_OF_FTE - BASED_ON_WORK_HOURS - BASED_ON_WORK_DAYS - CUSTOM_ENTITLEMENT description: Type of treatment for part-time workers title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowanceProrationPartTimeWorkerTreatmentType TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsFutureEventsItems: type: object properties: id: type: string format: uuid description: Event ID type: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsFutureEventsItemsType' description: Event type amount: type: number format: double description: Event amount policy_id: type: string format: uuid description: Policy ID created_at: type: string format: date-time description: Event creation date event_date: type: string format: date-time description: Event date profile_id: type: string format: uuid description: Profile ID updated_at: type: string format: date-time description: Event update date description: type: string description: Event description time_off_id: type: string format: uuid description: Time off ID accrual_date: type: string format: date-time description: Accrual date expiration_date: type: string format: date-time description: Expiration date tracking_period: type: string format: date-time description: Tracking period rollover_tracking_period: type: string format: date-time description: Rollover tracking period required: - id - type - amount - policy_id - created_at - profile_id - updated_at - tracking_period title: TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsFutureEventsItems time-off_updateTimeOffRequest_Response_200: type: object properties: time_off: $ref: '#/components/schemas/TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOff' description: Used to return the updated time off request after modification. Contains all the time off details including status, dates, amounts, and associated metadata. required: - time_off description: Time off data to be updated title: time-off_updateTimeOffRequest_Response_200 TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsRequesterProfile: type: object properties: hris_profile_id: type: string format: uuid description: Request hris profile id organization_id: type: string format: uuid description: Request organization id client_profile_id: type: string format: uuid description: Request client profile id title: TimeOffsGetResponsesContentApplicationJsonSchemaDataItemsRequesterProfile TimeOffsValidatePostRequestBodyContentApplicationJsonSchemaData: type: object properties: id: type: string description: The time off id. Required when validating a time off update request dates: type: array items: $ref: '#/components/schemas/TimeOffsValidatePostRequestBodyContentApplicationJsonSchemaDataDatesItems' description: The dates breakdown for the time off request. is_paid: type: boolean description: Indicates if the time off request is paid or not. By default it follows the policy configuration. end_date: type: string format: date description: The end date of the time off request. policy_id: type: string description: The time off policy id. Can be used in place of time_off_type_id start_date: type: string format: date description: The start date of the time off request. description: type: - string - 'null' description: The description of the time off request event_details: $ref: '#/components/schemas/TimeOffsValidatePostRequestBodyContentApplicationJsonSchemaDataEventDetails' description: Event details regarding the leave. Required for event based policies such as parental leave. deduction_amount: type: number format: double description: The amount to be deducted from the time off balance. Only valid for policies used by independent contractors time_off_type_id: type: string description: The time off type id. Required when policy_id is not provided time_off_event_id: type: string description: The time off event id that this request is associated with. Only present for event-based policies such as parental leave. time_off_percentage: type: - number - 'null' format: double description: The percentage of time off requested. For example, if the request is for a full day, the percentage will be 1. If it's for half a day, the percentage will be 0.5. recipient_profile_id: type: string description: The hris profile id of the recipient required: - end_date - start_date - recipient_profile_id description: Time off request data title: TimeOffsValidatePostRequestBodyContentApplicationJsonSchemaData TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffDailiesItemsType: type: string enum: - WORKING_DAY - NON_WORKING_DAY - HOLIDAY description: Type of the time off daily. Can be WORKING_DAY, NON_WORKING_DAY or HOLIDAY. title: TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaTimeOffTimeOffDailiesItemsType TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItems: type: object properties: id: type: string format: uuid description: Unique identifier of the policy allowance type: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsType' description: Type of the policy allowance accrual_type: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsAccrualType' description: 'Type of accrual for the allowance. Determines how/when profiles should earn their entitlement (aka: allowance).' accrual_unit: oneOf: - $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsAccrualUnit' - type: 'null' description: Unit used for accrual rollover_type: oneOf: - $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsRolloverType' - type: 'null' description: Type of rollover entitlement_unit: oneOf: - $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsEntitlementUnit' - type: 'null' description: Unit used for entitlement accrual_unit_amount: type: - number - 'null' format: double description: Amount of accrual units enable_bank_holidays: type: boolean description: Whether bank holidays are enabled for this allowance balance_tracking_type: oneOf: - $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsBalanceTrackingType' - type: 'null' description: Type of balance tracking. Determines how workers can request their time off. entitlement_start_date: type: - string - 'null' format: date description: Start date for entitlement entitlement_start_type: $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsEntitlementStartType' description: Type of entitlement start entitlement_start_unit: oneOf: - $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsEntitlementStartUnit' - type: 'null' description: Unit used for entitlement start entitlement_unit_amount: type: - number - 'null' format: double description: Amount of entitlement units accrual_application_type: oneOf: - $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsAccrualApplicationType' - type: 'null' description: Type of accrual application. Enum to indicate when accruals will be applied within the accrual cycles. rollover_expiration_unit: oneOf: - $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsRolloverExpirationUnit' - type: 'null' description: Unit used for rollover expiration rollover_limit_unit_amount: type: - number - 'null' format: double description: Amount of rollover limit units entitlement_expiration_unit: oneOf: - $ref: '#/components/schemas/TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsEntitlementExpirationUnit' - type: 'null' description: Unit used for entitlement expiration entitlement_start_unit_amount: type: - number - 'null' format: double description: Amount of entitlement start units rollover_expiration_unit_amount: type: - number - 'null' format: double description: Amount of rollover expiration units entitlement_expiration_unit_amount: type: - number - 'null' format: double description: Amount of entitlement expiration units zero_out_negative_balances_on_rollover: type: boolean description: Whether negative balances are zeroed out on rollover part_time_prorated_entitlement_unit_amount: type: - number - 'null' format: double description: The total prorated policy allowance entitlement amount if the worker is part-time. balance_tracking_flexible_custom_request_amount: type: - number - 'null' format: double description: Amount for flexible custom request balance tracking. The flexible custom extra amount request of the policy allowance. required: - id - type - accrual_type - accrual_unit - rollover_type - entitlement_unit - accrual_unit_amount - enable_bank_holidays - balance_tracking_type - entitlement_start_date - entitlement_start_type - entitlement_start_unit - entitlement_unit_amount - accrual_application_type - rollover_expiration_unit - rollover_limit_unit_amount - entitlement_expiration_unit - entitlement_start_unit_amount - rollover_expiration_unit_amount - entitlement_expiration_unit_amount - zero_out_negative_balances_on_rollover - balance_tracking_flexible_custom_request_amount title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItems TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsAdoptionDate: type: object properties: type: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsAdoptionDateType' description: The type of the field, indicating it is a date-only field required: type: boolean description: Indicates if the field is required required: - type - required description: The adoption-date of the child. Might be required depending on the type if leave requests. title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsAdoptionDate TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsRequesterProfile: type: object properties: hris_profile_id: type: string format: uuid description: The worker HRIS profile id in the given organization. Available when the requester is a worker. organization_id: type: string format: uuid description: Id of the organization the profile belongs to. client_profile_id: type: string format: uuid description: Id of the client profile. Available when the requester is a client. required: - organization_id description: The time off profile of the requester of the time off request. Can be either a client or worker profile. title: TimeOffsPostResponsesContentApplicationJsonSchemaTimeOffsItemsRequesterProfile ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsRolloverExpirationUnit : type: string enum: - YEAR - MONTH - WEEK - DAY - BUSINESS_DAY - CALENDAR_DAY - HOUR description: Unit for the expiration period of rolled-over balance. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsRolloverExpirationUnit GetTimeOffEventsForProfileRequestBadRequestError: type: object properties: errors: type: array items: $ref: '#/components/schemas/TimeOffsTimeOffEventsGetResponsesContentApplicationJsonSchemaErrorsItems' request: $ref: '#/components/schemas/TimeOffsTimeOffEventsGetResponsesContentApplicationJsonSchemaRequest' title: GetTimeOffEventsForProfileRequestBadRequestError TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsBirthDateType: type: string enum: - date-only description: The type of the field, indicating it is a date-only field title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsBirthDateType TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsRolloverType: type: string enum: - NO_ROLLOVER - PAY_OUT - CARRY_OVER - CARRY_OVER_PAY_OUT description: Type of rollover title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsRolloverType TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsPolicyLeaveType: type: string enum: - SHORT_TERM_LEAVE - LONG_TERM_LEAVE description: Leave type title: TimeOffsProfileHrisProfileIdEntitlementsGetResponsesContentApplicationJsonSchemaEntitlementsItemsPolicyLeaveType TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsTrackingCadence: type: string enum: - FIXED_DAY - ANNIVERSARY description: Cadence for tracking policy periods title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsTrackingCadence TimeOffsGlobalPayrollSyncPostResponsesContentApplicationJsonSchemaRequest: type: object properties: url: type: string description: The relative URL of the failed request code: type: number format: double description: The code of the source handler which produced the returned error docs: type: string description: A link to the official documentation for the requested endpoint resource method: type: string description: The HTTP method of the failed request source: type: string description: The source handler which produced the returned error status: type: number format: double description: The status code of the response api_req_id: type: string description: The request ID of the failed request title: TimeOffsGlobalPayrollSyncPostResponsesContentApplicationJsonSchemaRequest TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsWorkSchedule: type: object properties: work_week: $ref: '#/components/schemas/TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsWorkScheduleWorkWeek' description: The work week schedule for the HRIS profile hours_per_day: type: number format: double description: Working hours per day hris_profile_id: type: string format: uuid description: HRIS profile id description: Detail of working hours by week day for an HRIS profile title: TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsWorkSchedule ? TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsEntitlementStartType : type: string enum: - IMMEDIATELY - FIXED_PERIOD - FIXED_DATE description: When the entitlement starts. title: TimeOffsPolicyValidationTemplatesGetResponsesContentApplicationJsonSchemaDataPolicyValidationTemplatesItemsPolicyAllowancesItemsEntitlementStartType TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFields: type: object properties: birth_date: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsBirthDate' description: The birth-date of the child. Required for parental leave requests. adoption_date: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsAdoptionDate' description: The adoption-date of the child. Might be required depending on the type if leave requests. was_premature_birth: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsWasPrematureBirth' description: Indicates if the child was born prematurely. Required for parental leave requests. had_multiple_children: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsHadMultipleChildren' description: Indicates if the request is for multiple children. Required for parental leave requests. description: Fields required for specific time off requests, such as parental leave. title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFields TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsHadMultipleChildrenType: type: string enum: - boolean description: The type of the field, indicating it is a boolean field title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataEventDetailsFieldsHadMultipleChildrenType TimeOffsReviewPostResponsesContentApplicationJsonSchemaErrorsItems: type: object properties: path: type: string description: The JSON path where input validation failed message: type: string description: A description of the returned error title: TimeOffsReviewPostResponsesContentApplicationJsonSchemaErrorsItems TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsLeaveType: type: string enum: - SHORT_TERM_LEAVE - LONG_TERM_LEAVE description: Type of leave for this policy title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsLeaveType TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsAccrualType: type: string enum: - LUMPSUM - TIMEFRAME - EVENT - TIME_OFF_IN_LIEU description: 'Type of accrual for the allowance. Determines how/when profiles should earn their entitlement (aka: allowance).' title: TimeOffsProfileHrisProfileIdPoliciesGetResponsesContentApplicationJsonSchemaPoliciesItemsPolicyAllowancesItemsAccrualType TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataCountrySpecificValidationResultsItemsData: type: object properties: ranges: type: array items: $ref: '#/components/schemas/TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataCountrySpecificValidationResultsItemsDataRangesItems' description: Date ranges that were validated max_requests: type: number format: double description: Maximum number of requests allowed by this validation rule remaining_balance: type: number format: double description: Remaining balance at the time of applying this rule title: TimeOffsValidatePostResponsesContentApplicationJsonSchemaDataCountrySpecificValidationResultsItemsData TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsWorkScheduleWorkWeek: type: object properties: friday: type: number format: double description: Working hours on friday monday: type: number format: double description: Working hours on monday sunday: type: number format: double description: Working hours on sunday tuesday: type: number format: double description: Working hours on tuesday saturday: type: number format: double description: Working hours on saturday thursday: type: number format: double description: Working hours on thursday wednesday: type: number format: double description: Working hours on wednesday required: - friday - monday - sunday - tuesday - saturday - thursday - wednesday description: The work week schedule for the HRIS profile title: TimeOffsDailiesGetResponsesContentApplicationJsonSchemaDataItemsWorkScheduleWorkWeek TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaRequest: type: object properties: url: type: string description: Request URL path docs: type: string description: Documentation reference method: type: string description: HTTP method source: type: string description: Request source status: type: integer description: HTTP status code api_req_id: type: string description: Unique API request identifier description: Request metadata title: TimeOffsTimeOffIdPatchResponsesContentApplicationJsonSchemaRequest securitySchemes: deelToken: type: http scheme: bearer description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" oauth2: type: http scheme: bearer description: Standard OAuth2 security scheme based on https://swagger.io/docs/specification/authentication/