curl --request PATCH \
--url https://api.stackone.com/unified/hris/employees/{id}/time_off/{subResourceId} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'x-account-id: <x-account-id>' \
--data '
{
"approver_id": "1687-4",
"status": {
"source_value": "<string>"
},
"type": {
"source_value": "<string>"
},
"start_date": "2021-01-01T01:01:01.000",
"end_date": "2021-01-01T01:01:01.000",
"start_half_day": true,
"end_half_day": true,
"time_off_policy_id": "cx280928933",
"reason": {
"id": "8187e5da-dc77-475e-9949-af0f1fa4e4e3",
"remote_id": "8187e5da-dc77-475e-9949-af0f1fa4e4e3",
"name": "<string>"
},
"comment": "Taking a day off for personal reasons",
"passthrough": {
"other_known_names": "John Doe"
}
}
'import requests
url = "https://api.stackone.com/unified/hris/employees/{id}/time_off/{subResourceId}"
payload = {
"approver_id": "1687-4",
"status": { "source_value": "<string>" },
"type": { "source_value": "<string>" },
"start_date": "2021-01-01T01:01:01.000",
"end_date": "2021-01-01T01:01:01.000",
"start_half_day": True,
"end_half_day": True,
"time_off_policy_id": "cx280928933",
"reason": {
"id": "8187e5da-dc77-475e-9949-af0f1fa4e4e3",
"remote_id": "8187e5da-dc77-475e-9949-af0f1fa4e4e3",
"name": "<string>"
},
"comment": "Taking a day off for personal reasons",
"passthrough": { "other_known_names": "John Doe" }
}
headers = {
"x-account-id": "<x-account-id>",
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'x-account-id': '<x-account-id>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
approver_id: '1687-4',
status: {source_value: '<string>'},
type: {source_value: '<string>'},
start_date: '2021-01-01T01:01:01.000',
end_date: '2021-01-01T01:01:01.000',
start_half_day: true,
end_half_day: true,
time_off_policy_id: 'cx280928933',
reason: {
id: '8187e5da-dc77-475e-9949-af0f1fa4e4e3',
remote_id: '8187e5da-dc77-475e-9949-af0f1fa4e4e3',
name: '<string>'
},
comment: 'Taking a day off for personal reasons',
passthrough: {other_known_names: 'John Doe'}
})
};
fetch('https://api.stackone.com/unified/hris/employees/{id}/time_off/{subResourceId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.stackone.com/unified/hris/employees/{id}/time_off/{subResourceId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'approver_id' => '1687-4',
'status' => [
'source_value' => '<string>'
],
'type' => [
'source_value' => '<string>'
],
'start_date' => '2021-01-01T01:01:01.000',
'end_date' => '2021-01-01T01:01:01.000',
'start_half_day' => true,
'end_half_day' => true,
'time_off_policy_id' => 'cx280928933',
'reason' => [
'id' => '8187e5da-dc77-475e-9949-af0f1fa4e4e3',
'remote_id' => '8187e5da-dc77-475e-9949-af0f1fa4e4e3',
'name' => '<string>'
],
'comment' => 'Taking a day off for personal reasons',
'passthrough' => [
'other_known_names' => 'John Doe'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json",
"x-account-id: <x-account-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.stackone.com/unified/hris/employees/{id}/time_off/{subResourceId}"
payload := strings.NewReader("{\n \"approver_id\": \"1687-4\",\n \"status\": {\n \"source_value\": \"<string>\"\n },\n \"type\": {\n \"source_value\": \"<string>\"\n },\n \"start_date\": \"2021-01-01T01:01:01.000\",\n \"end_date\": \"2021-01-01T01:01:01.000\",\n \"start_half_day\": true,\n \"end_half_day\": true,\n \"time_off_policy_id\": \"cx280928933\",\n \"reason\": {\n \"id\": \"8187e5da-dc77-475e-9949-af0f1fa4e4e3\",\n \"remote_id\": \"8187e5da-dc77-475e-9949-af0f1fa4e4e3\",\n \"name\": \"<string>\"\n },\n \"comment\": \"Taking a day off for personal reasons\",\n \"passthrough\": {\n \"other_known_names\": \"John Doe\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-account-id", "<x-account-id>")
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.stackone.com/unified/hris/employees/{id}/time_off/{subResourceId}")
.header("x-account-id", "<x-account-id>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"approver_id\": \"1687-4\",\n \"status\": {\n \"source_value\": \"<string>\"\n },\n \"type\": {\n \"source_value\": \"<string>\"\n },\n \"start_date\": \"2021-01-01T01:01:01.000\",\n \"end_date\": \"2021-01-01T01:01:01.000\",\n \"start_half_day\": true,\n \"end_half_day\": true,\n \"time_off_policy_id\": \"cx280928933\",\n \"reason\": {\n \"id\": \"8187e5da-dc77-475e-9949-af0f1fa4e4e3\",\n \"remote_id\": \"8187e5da-dc77-475e-9949-af0f1fa4e4e3\",\n \"name\": \"<string>\"\n },\n \"comment\": \"Taking a day off for personal reasons\",\n \"passthrough\": {\n \"other_known_names\": \"John Doe\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stackone.com/unified/hris/employees/{id}/time_off/{subResourceId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-account-id"] = '<x-account-id>'
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"approver_id\": \"1687-4\",\n \"status\": {\n \"source_value\": \"<string>\"\n },\n \"type\": {\n \"source_value\": \"<string>\"\n },\n \"start_date\": \"2021-01-01T01:01:01.000\",\n \"end_date\": \"2021-01-01T01:01:01.000\",\n \"start_half_day\": true,\n \"end_half_day\": true,\n \"time_off_policy_id\": \"cx280928933\",\n \"reason\": {\n \"id\": \"8187e5da-dc77-475e-9949-af0f1fa4e4e3\",\n \"remote_id\": \"8187e5da-dc77-475e-9949-af0f1fa4e4e3\",\n \"name\": \"<string>\"\n },\n \"comment\": \"Taking a day off for personal reasons\",\n \"passthrough\": {\n \"other_known_names\": \"John Doe\"\n }\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 201,
"message": "Record created successfully.",
"timestamp": "2021-01-01T01:01:01.000Z",
"data": {
"id": "8187e5da-dc77-475e-9949-af0f1fa4e4e3",
"remote_id": "8187e5da-dc77-475e-9949-af0f1fa4e4e3"
}
}{
"statusCode": 400,
"message": "Bad Request",
"timestamp": "2023-05-30T00:00:00.000Z",
"data": {
"statusCode": 400,
"message": "Bad Request",
"headers": {
"content-type": "application/json",
"x-request-id": "5678c28b211dace4e0a0f9171e6b88c5"
}
},
"provider_errors": [
{
"status": 400,
"url": "https://api.provider.com/v1/resource",
"raw": {
"message": "Invalid input parameters"
},
"headers": {
"content-type": "application/json",
"x-request-id": "5678c28b211dace4e0a0f9171e6b88c5"
}
}
]
}{
"statusCode": 401,
"message": "Unauthorized",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 403,
"message": "Forbidden resource",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 404,
"message": "Not Found",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 408,
"message": "Request timed out",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 409,
"message": "Conflict",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 412,
"message": "Precondition failed",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 422,
"message": "Unprocessable Entity",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 429,
"message": "Too many requests",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 500,
"message": "Internal server error",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 501,
"message": "Not Implemented",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 502,
"message": "Bad Gateway",
"timestamp": "2023-05-30T00:00:00.000Z"
}Update Employee Time Off Request
curl --request PATCH \
--url https://api.stackone.com/unified/hris/employees/{id}/time_off/{subResourceId} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'x-account-id: <x-account-id>' \
--data '
{
"approver_id": "1687-4",
"status": {
"source_value": "<string>"
},
"type": {
"source_value": "<string>"
},
"start_date": "2021-01-01T01:01:01.000",
"end_date": "2021-01-01T01:01:01.000",
"start_half_day": true,
"end_half_day": true,
"time_off_policy_id": "cx280928933",
"reason": {
"id": "8187e5da-dc77-475e-9949-af0f1fa4e4e3",
"remote_id": "8187e5da-dc77-475e-9949-af0f1fa4e4e3",
"name": "<string>"
},
"comment": "Taking a day off for personal reasons",
"passthrough": {
"other_known_names": "John Doe"
}
}
'import requests
url = "https://api.stackone.com/unified/hris/employees/{id}/time_off/{subResourceId}"
payload = {
"approver_id": "1687-4",
"status": { "source_value": "<string>" },
"type": { "source_value": "<string>" },
"start_date": "2021-01-01T01:01:01.000",
"end_date": "2021-01-01T01:01:01.000",
"start_half_day": True,
"end_half_day": True,
"time_off_policy_id": "cx280928933",
"reason": {
"id": "8187e5da-dc77-475e-9949-af0f1fa4e4e3",
"remote_id": "8187e5da-dc77-475e-9949-af0f1fa4e4e3",
"name": "<string>"
},
"comment": "Taking a day off for personal reasons",
"passthrough": { "other_known_names": "John Doe" }
}
headers = {
"x-account-id": "<x-account-id>",
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'x-account-id': '<x-account-id>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
approver_id: '1687-4',
status: {source_value: '<string>'},
type: {source_value: '<string>'},
start_date: '2021-01-01T01:01:01.000',
end_date: '2021-01-01T01:01:01.000',
start_half_day: true,
end_half_day: true,
time_off_policy_id: 'cx280928933',
reason: {
id: '8187e5da-dc77-475e-9949-af0f1fa4e4e3',
remote_id: '8187e5da-dc77-475e-9949-af0f1fa4e4e3',
name: '<string>'
},
comment: 'Taking a day off for personal reasons',
passthrough: {other_known_names: 'John Doe'}
})
};
fetch('https://api.stackone.com/unified/hris/employees/{id}/time_off/{subResourceId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.stackone.com/unified/hris/employees/{id}/time_off/{subResourceId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'approver_id' => '1687-4',
'status' => [
'source_value' => '<string>'
],
'type' => [
'source_value' => '<string>'
],
'start_date' => '2021-01-01T01:01:01.000',
'end_date' => '2021-01-01T01:01:01.000',
'start_half_day' => true,
'end_half_day' => true,
'time_off_policy_id' => 'cx280928933',
'reason' => [
'id' => '8187e5da-dc77-475e-9949-af0f1fa4e4e3',
'remote_id' => '8187e5da-dc77-475e-9949-af0f1fa4e4e3',
'name' => '<string>'
],
'comment' => 'Taking a day off for personal reasons',
'passthrough' => [
'other_known_names' => 'John Doe'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json",
"x-account-id: <x-account-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.stackone.com/unified/hris/employees/{id}/time_off/{subResourceId}"
payload := strings.NewReader("{\n \"approver_id\": \"1687-4\",\n \"status\": {\n \"source_value\": \"<string>\"\n },\n \"type\": {\n \"source_value\": \"<string>\"\n },\n \"start_date\": \"2021-01-01T01:01:01.000\",\n \"end_date\": \"2021-01-01T01:01:01.000\",\n \"start_half_day\": true,\n \"end_half_day\": true,\n \"time_off_policy_id\": \"cx280928933\",\n \"reason\": {\n \"id\": \"8187e5da-dc77-475e-9949-af0f1fa4e4e3\",\n \"remote_id\": \"8187e5da-dc77-475e-9949-af0f1fa4e4e3\",\n \"name\": \"<string>\"\n },\n \"comment\": \"Taking a day off for personal reasons\",\n \"passthrough\": {\n \"other_known_names\": \"John Doe\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-account-id", "<x-account-id>")
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.stackone.com/unified/hris/employees/{id}/time_off/{subResourceId}")
.header("x-account-id", "<x-account-id>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"approver_id\": \"1687-4\",\n \"status\": {\n \"source_value\": \"<string>\"\n },\n \"type\": {\n \"source_value\": \"<string>\"\n },\n \"start_date\": \"2021-01-01T01:01:01.000\",\n \"end_date\": \"2021-01-01T01:01:01.000\",\n \"start_half_day\": true,\n \"end_half_day\": true,\n \"time_off_policy_id\": \"cx280928933\",\n \"reason\": {\n \"id\": \"8187e5da-dc77-475e-9949-af0f1fa4e4e3\",\n \"remote_id\": \"8187e5da-dc77-475e-9949-af0f1fa4e4e3\",\n \"name\": \"<string>\"\n },\n \"comment\": \"Taking a day off for personal reasons\",\n \"passthrough\": {\n \"other_known_names\": \"John Doe\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stackone.com/unified/hris/employees/{id}/time_off/{subResourceId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-account-id"] = '<x-account-id>'
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"approver_id\": \"1687-4\",\n \"status\": {\n \"source_value\": \"<string>\"\n },\n \"type\": {\n \"source_value\": \"<string>\"\n },\n \"start_date\": \"2021-01-01T01:01:01.000\",\n \"end_date\": \"2021-01-01T01:01:01.000\",\n \"start_half_day\": true,\n \"end_half_day\": true,\n \"time_off_policy_id\": \"cx280928933\",\n \"reason\": {\n \"id\": \"8187e5da-dc77-475e-9949-af0f1fa4e4e3\",\n \"remote_id\": \"8187e5da-dc77-475e-9949-af0f1fa4e4e3\",\n \"name\": \"<string>\"\n },\n \"comment\": \"Taking a day off for personal reasons\",\n \"passthrough\": {\n \"other_known_names\": \"John Doe\"\n }\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 201,
"message": "Record created successfully.",
"timestamp": "2021-01-01T01:01:01.000Z",
"data": {
"id": "8187e5da-dc77-475e-9949-af0f1fa4e4e3",
"remote_id": "8187e5da-dc77-475e-9949-af0f1fa4e4e3"
}
}{
"statusCode": 400,
"message": "Bad Request",
"timestamp": "2023-05-30T00:00:00.000Z",
"data": {
"statusCode": 400,
"message": "Bad Request",
"headers": {
"content-type": "application/json",
"x-request-id": "5678c28b211dace4e0a0f9171e6b88c5"
}
},
"provider_errors": [
{
"status": 400,
"url": "https://api.provider.com/v1/resource",
"raw": {
"message": "Invalid input parameters"
},
"headers": {
"content-type": "application/json",
"x-request-id": "5678c28b211dace4e0a0f9171e6b88c5"
}
}
]
}{
"statusCode": 401,
"message": "Unauthorized",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 403,
"message": "Forbidden resource",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 404,
"message": "Not Found",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 408,
"message": "Request timed out",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 409,
"message": "Conflict",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 412,
"message": "Precondition failed",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 422,
"message": "Unprocessable Entity",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 429,
"message": "Too many requests",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 500,
"message": "Internal server error",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 501,
"message": "Not Implemented",
"timestamp": "2023-05-30T00:00:00.000Z"
}{
"statusCode": 502,
"message": "Bad Gateway",
"timestamp": "2023-05-30T00:00:00.000Z"
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Headers
The account identifier
Set to "heartbeat" to enable keep-alive newline heartbeats during long-running requests. Response includes Preference-Applied: heartbeat header when honored. (RFC 7240)
"heartbeat"
Body
The approver ID
"1687-4"
The status of the time off request
Show child attributes
Show child attributes
The type of the time off request
Show child attributes
Show child attributes
The start date of the time off request (ISO8601 date-time without timezone)
"2021-01-01T01:01:01.000"
Inclusive end date of the time off request (ISO8601 date-time without timezone). The time off includes this day
"2021-01-01T01:01:01.000"
True if the start of the time off request begins half way through the day
true
True if the end of the time off request ends half way through the day
true
The time off policy id associated with this time off request
"cx280928933"
Show child attributes
Show child attributes
Allows users to provide additional context or notes for their time off request
"Taking a day off for personal reasons"
Value to pass through to the provider
{ "other_known_names": "John Doe" }
Was this page helpful?