For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
SupportDeel Home
OverviewPlatformEmployer of RecordContractorsGlobal PayrollHREmbeddedDeel ITAPI ReferenceChangelog
OverviewPlatformEmployer of RecordContractorsGlobal PayrollHREmbeddedDeel ITAPI ReferenceChangelog
  • Resources
    • Blog
    • Community
    • API spec
  • Endpoints
    • PATCHProfiles
      • POSTApprove/Reject time-off requests
      • DELCancel time-off request
      • POSTCreate time-off request
      • POSTExternal HR Time Off Synchronization
      • GETGet Profile Entitlements
      • GETGet Time Off Events for Profile
      • GETGet Work Schedule and Holidays
      • GETList policies
      • GETList time-off requests
      • GETList time-off requests for Organization
      • GETRetrieve policy validation templates
      • PATCHUpdate time-off request
      • POSTValidate time-off request
LogoLogo
SupportDeel Home
EndpointsTime Off

Create time-off request

POST
/time_offs
POST
/rest/v2/time_offs
$curl -X POST https://api.letsdeel.com/rest/v2/time_offs \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json" \
> -d '{
> "data": {
> "end_date": "2021-04-30",
> "start_date": "2021-04-01",
> "recipient_profile_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
> "reason": "Vacation",
> "is_paid": true,
> "time_off_type_id": "d290f1ee-6c54-4b01-90e6-d701748f0851"
> }
>}'
1{
2 "time_offs": [
3 {
4 "is_paid": false,
5 "end_date": "2021-08-01",
6 "created_at": "2021-07-01T00:00:00Z",
7 "start_date": "2021-07-01",
8 "updated_at": "2021-07-01T00:00:00Z",
9 "requested_at": "2021-07-01",
10 "half_end_date": false,
11 "half_start_date": false,
12 "entitlement_unit": "CALENDAR_DAY",
13 "time_off_type_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
14 "amount": 1,
15 "reason": "Vacation",
16 "status": "REQUESTED",
17 "approved_at": "2021-07-01T00:00:00Z",
18 "attachments": [
19 {
20 "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
21 "filename": "vacation-request.pdf",
22 "created_at": "2021-07-01T11:22:33Z",
23 "updated_at": "2021-07-01T33:44:33Z"
24 }
25 ],
26 "description": "Vacation",
27 "contract_oid": "d290f1ee-6c54-4b01-90e6-d701748f0851",
28 "deduction_amount": 1,
29 "time_off_dailies": [
30 {
31 "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
32 "date": "2021-07-01",
33 "type": "WORKING_DAY",
34 "amount": 1,
35 "created_at": "2021-07-01T00:00:00Z",
36 "updated_at": "2021-07-01T00:00:00Z",
37 "time_off_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
38 "description": "Vacation"
39 }
40 ],
41 "recipient_profile": {
42 "hris_profile_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
43 "organization_id": "d290f1ee-6c54-4b01-90e6-d701748f0851"
44 },
45 "requester_profile": {
46 "organization_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
47 "hris_profile_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
48 "client_profile_id": "d290f1ee-6c54-4b01-90e6-d701748f0851"
49 },
50 "time_off_percentage": 1,
51 "is_end_date_estimated": false,
52 "other_type_description": "Vacation"
53 }
54 ]
55}

Creates a new time-off request for a worker. Token scopes: time-off:write, worker:write

Was this page helpful?
Previous

External HR Time Off Synchronization

Next
Built with

Authentication

AuthorizationBearer
## Authentication The 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. ```curl curl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \ -H 'Authorization: Bearer YOUR-TOKEN-HERE' ``` [Learn more about authentication](/api/authentication)
OR
AuthorizationBearer

Standard OAuth2 security scheme based on https://swagger.io/docs/specification/authentication/

Request

The time off request data
dataobjectOptional
The time off request data

Response

Time off creation data
time_offslist of objects
The list of created time offs. Depending on the selected dates, a time off can be split into more than one request.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
500
Internal Server Error

Authentication

The 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.

1curl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \
2 -H 'Authorization: Bearer YOUR-TOKEN-HERE'

Learn more about authentication