time_off_requests

Create time off request

Creates a new time off request.

Returns the created time off request with a balance_preview showing the policy balance impact.

time_off_request_days must include one entry for every date from starts_at to stops_at. Each entry requires a date and amount_used in seconds (typically 28800 for an 8-hour day). Set amount_used to 0 for excluded weekend or holiday days.

Set require_no_shift_overlap to true to reject the request if it overlaps with scheduled attendance shifts.

remove_shifts deletes overlapping attendance shifts only when the policy does not require approval (the request is auto-approved on creation). When the policy requires approval, this field is ignored — use the status endpoint to remove shifts at approval time instead.

Note: starts_at and stops_at are interpreted as wall-clock times in the target user's configured timezone (any timezone offset in the value is ignored). When all_day is true, the response covers the whole local day, 00:00:00.000–23:59:59.999 in the timezone saved with the request when it was created.

post/v2/organizations/{organization_id}/time_off_requests

Request

Path parameters

organization_idinteger required

Request body

user_idinteger required

User ID

time_off_policy_idinteger required

Time off policy ID

starts_atstring date-time required

Start time (ISO 8601)

stops_atstring date-time required

Stop time (ISO 8601)

messagestring required

Reason for time off

all_dayboolean

Full day request

exclude_weekendsboolean
exclude_holidaysboolean
require_no_shift_overlapboolean

Reject if overlapping shifts exist

remove_shiftsboolean

Remove overlapping attendance shifts. Only honored when the policy does not require approval (auto-approved requests). For policies that require approval, use the status endpoint to remove shifts upon approval.

Response

A time off request with its balance preview

Changes

No recorded changes to this operation across all 1 revision of this API.