Calls: {root}/{version}/whosoff


POST/v4/retrieve
Route {root}/v4/whosoff/retrieve
Request type BODY
User level STAFF
Requires authentication Yes
Response type Array()

Parameters

Nested object(s)[]

Sample cURL

curl --location --request POST "{{ROOT}}/v4/whosoff/retrieve/" \
-H "Authorization: Bearer {{BEARER_TOKEN}}" \
-H "app-id:{{APP_ID}}" \
-H "Content-Type: application/json" \
-H "Accept-Encoding: gzip" \
-H "accept: */*" \
--data '{"map_type_id": "0","map_id": "123456","leave_type_ids": [{"leave_type_id":"234"},{"leave_type_id":"234"}],"include_free_restricted": false,"include_only_whosoff": false}'

Sample response

[
{
"object_name":"work",
"type":"NESTED",
"is_nullable":false,
"nest":[
{
"object_name":"start_date",
"type":"Date",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"end_date",
"type":"Date",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"monday",
"type":"minute(int32)",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"tuesday",
"type":"minute(int32)",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"wednesday",
"type":"minute(int32)",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"thursday",
"type":"minute(int32)",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"friday",
"type":"minute(int32)",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"saturday",
"type":"minute(int32)",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"sunday",
"type":"minute(int32)",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
}],
"custom":null
"note":
},
{
"object_name":"user_id",
"type":"Int32",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"first_name",
"type":"String",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"last_name",
"type":"String",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"department_id",
"type":"Int32",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"department_name",
"type":"String",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"image_url_small",
"type":"String",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"image_url_large",
"type":"String",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"leave",
"type":"NESTED",
"is_nullable":false,
"nest":[
{
"object_name":"leave_id",
"type":"Int32",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"status_id",
"type":"custom",
"is_nullable":False,
"nest":null,
"custom":"[
{
"name":"disabled",
"value":"0"
},
{
"name":"active",
"value":"1"
}]"
"note":"",
},
{
"object_name":"leave_type_id",
"type":"Int32",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"start_date",
"type":"DateTime",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"end_date",
"type":"DateTime",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"code",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"colour",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"leave_type_name",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
}],
"custom":null
"note":
},
{
"object_name":"free_restricted",
"type":"NESTED",
"is_nullable":false,
"nest":[
{
"object_name":"start_date",
"type":"DateTime",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"end_date",
"type":"DateTime",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"type_id",
"type":"custom",
"is_nullable":False,
"nest":null,
"custom":"[
{
"name":"free",
"value":"0"
},
{
"name":"restricted",
"value":"1"
}]"
"note":"",
},
{
"object_name":"description",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
}],
"custom":null
"note":
}
]
POST/v4.1/retrieve
Route {root}/v4.1/whosoff/retrieve
Request type BODY
User level STAFF
Requires authentication Yes
Response type Array()

Parameters

Nested object(s)[]

Sample cURL

curl --location --request POST "{{ROOT}}/v4.1/whosoff/retrieve/" \
-H "Authorization: Bearer {{BEARER_TOKEN}}" \
-H "app-id:{{APP_ID}}" \
-H "Content-Type: application/json" \
-H "Accept-Encoding: gzip" \
-H "accept: */*" \
--data '{"map_type_id": "0","map_id": "123456","leave_type_ids": [{"leave_type_id":"234"},{"leave_type_id":"234"}],"include_free_restricted": false,"include_only_whosoff": false}'

Sample response

[
{
"object_name":"work",
"type":"NESTED",
"is_nullable":false,
"nest":[
{
"object_name":"monday_label",
"type":"Byte",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"tuesday_label",
"type":"Byte",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"wednesday_label",
"type":"Byte",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"thursday_label",
"type":"Byte",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"friday_label",
"type":"Byte",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"saturday_label",
"type":"Byte",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"sunday_label",
"type":"Byte",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"start_date",
"type":"Date",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"end_date",
"type":"Date",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"monday",
"type":"minute(int32)",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"tuesday",
"type":"minute(int32)",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"wednesday",
"type":"minute(int32)",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"thursday",
"type":"minute(int32)",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"friday",
"type":"minute(int32)",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"saturday",
"type":"minute(int32)",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"sunday",
"type":"minute(int32)",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
}],
"custom":null
"note":
},
{
"object_name":"is_approver",
"type":"Byte",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"user_id",
"type":"Int32",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"first_name",
"type":"String",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"last_name",
"type":"String",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"department_id",
"type":"Int32",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"department_name",
"type":"String",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"image_url_small",
"type":"String",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"image_url_large",
"type":"String",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"leave",
"type":"NESTED",
"is_nullable":false,
"nest":[
{
"object_name":"leave_id",
"type":"Int32",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"status_id",
"type":"custom",
"is_nullable":False,
"nest":null,
"custom":"[
{
"name":"disabled",
"value":"0"
},
{
"name":"active",
"value":"1"
}]"
"note":"",
},
{
"object_name":"leave_type_id",
"type":"Int32",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"start_date",
"type":"DateTime",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"end_date",
"type":"DateTime",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"code",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"colour",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"leave_type_name",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
}],
"custom":null
"note":
},
{
"object_name":"free_restricted",
"type":"NESTED",
"is_nullable":false,
"nest":[
{
"object_name":"start_date",
"type":"DateTime",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"end_date",
"type":"DateTime",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"type_id",
"type":"custom",
"is_nullable":False,
"nest":null,
"custom":"[
{
"name":"free",
"value":"0"
},
{
"name":"restricted",
"value":"1"
}]"
"note":"",
},
{
"object_name":"description",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
}],
"custom":null
"note":
}
]
GET/v4/get-detail
Route {root}/v4/whosoff/get-detail
Request type URL
User level STAFF
Requires authentication Yes
Response type Single
Sample call{root}/v0/whosoff/get-detail/12345678

Parameters

Sample cURL

curl --location --request GET "{{ROOT}}/v4/whosoff/get-detail/12345678-H "Authorization: Bearer {{BEARER_TOKEN}}" \
-H "app-id:{{APP_ID}}" \
-H "Content-Type: application/json" \
-H "Accept-Encoding: gzip" \
-H "accept: */*" \

Sample response

[
{
"object_name":"first_name",
"type":"String",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"last_name",
"type":"String",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"status_id",
"type":"custom",
"is_nullable":false,
"nest":null,
"custom":[
{
"name":"disabled",
"value":"0"
},
{
"name":"active",
"value":"1"
}]
"note":
},
{
"object_name":"start_date",
"type":"DateTime",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"end_date",
"type":"DateTime",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"leave_type_name",
"type":"String",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"code",
"type":"String",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"colour",
"type":"String",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"allowance_type_id",
"type":"custom",
"is_nullable":false,
"nest":null,
"custom":[
{
"name":"days",
"value":"0"
},
{
"name":"hours",
"value":"1"
}]
"note":
},
{
"object_name":"duration",
"type":"minute(int32)",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"allowance_duration",
"type":"minute(int32)",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"work_duration",
"type":"minute(int32)",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"free_duration",
"type":"minute(int32)",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"shifts",
"type":"Decimal",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"request_notes",
"type":"String",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"image_url_small",
"type":"String",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"image_url_large",
"type":"String",
"is_nullable":false,
"nest":null,
"custom":null
"note":
}
]
POST/v4/calendar-summary
Route {root}/v4/whosoff/calendar-summary
Request type BODY
User level STAFF
Requires authentication Yes
Response type Array()

Parameters

Sample cURL

curl --location --request POST "{{ROOT}}/v4/whosoff/calendar-summary/" \
-H "Authorization: Bearer {{BEARER_TOKEN}}" \
-H "app-id:{{APP_ID}}" \
-H "Content-Type: application/json" \
-H "Accept-Encoding: gzip" \
-H "accept: */*" \
--data '{"map_type_id": "0","map_id": "123456","year": "123456"}'

Sample response

[
{
"object_name":"week",
"type":"Int32",
"is_nullable":false,
"nest":null,
"custom":null
"note":
},
{
"object_name":"days",
"type":"NESTED",
"is_nullable":false,
"nest":[
{
"object_name":"day",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"leave_type",
"type":"ResObjWhosOffCalendarSummaryWeekLeaveTypes",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"free_restricted",
"type":"ResObjWhosOffCalendarSummaryWeekFreeRestricted",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
}],
"custom":null
"note":
}
]
POST/v4/calendar-day
Route {root}/v4/whosoff/calendar-day
Request type BODY
User level STAFF
Requires authentication Yes
Response type Single

Parameters

Sample cURL

curl --location --request POST "{{ROOT}}/v4/whosoff/calendar-day/" \
-H "Authorization: Bearer {{BEARER_TOKEN}}" \
-H "app-id:{{APP_ID}}" \
-H "Content-Type: application/json" \
-H "Accept-Encoding: gzip" \
-H "accept: */*" \
--data '{"map_type_id": "0","map_id": "123456"}'

Sample response

[
{
"object_name":"free_restricted",
"type":"NESTED",
"is_nullable":false,
"nest":[
{
"object_name":"start_date",
"type":"DateTime",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"end_date",
"type":"DateTime",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"description",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"type_id",
"type":"custom",
"is_nullable":False,
"nest":null,
"custom":"[
{
"name":"free",
"value":"0"
},
{
"name":"restricted",
"value":"1"
}]"
"note":"",
}],
"custom":null
"note":
},
{
"object_name":"leave",
"type":"NESTED",
"is_nullable":false,
"nest":[
{
"object_name":"user_id",
"type":"Int32",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"first_name",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"last_name",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"department_id",
"type":"Int32",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"department_name",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"image_url_small",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"image_url_large",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"leave_id",
"type":"Int32",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"status_id",
"type":"custom",
"is_nullable":False,
"nest":null,
"custom":"[
{
"name":"disabled",
"value":"0"
},
{
"name":"active",
"value":"1"
}]"
"note":"",
},
{
"object_name":"start_date",
"type":"DateTime",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"end_date",
"type":"DateTime",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"leave_type_id",
"type":"Int32",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"leave_type_name",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"code",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"colour",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"can_approve",
"type":"Boolean",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"requested_date",
"type":"DateTime",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
},
{
"object_name":"approver_name",
"type":"String",
"is_nullable":False,
"nest":null,
"custom":null
"note":"",
}],
"custom":null
"note":
}
]


Don't have a WhosOff account yet?

Instantly reduce time spent on leave management with your FREE, no obligation trial today!
Sign up today and get until Sunday, 26th July 2026 to try the full service, for Free!

Get your instant FREE account today