curl --request POST \
--url https://api.rippling.com/platform/api/leave_requests/{id}/process \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rippling.com/platform/api/leave_requests/{id}/process"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rippling.com/platform/api/leave_requests/{id}/process', 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.rippling.com/platform/api/leave_requests/{id}/process",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.rippling.com/platform/api/leave_requests/{id}/process"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.rippling.com/platform/api/leave_requests/{id}/process")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rippling.com/platform/api/leave_requests/{id}/process")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"role": "<string>",
"roleName": "<string>",
"requestedBy": "<string>",
"requestedByName": "<string>",
"status": "PENDING",
"startDate": "<string>",
"endDate": "<string>",
"startDateStartTime": "<string>",
"endDateEndTime": "<string>",
"startDateCustomHours": "<string>",
"endDateCustomHours": "<string>",
"comments": "<string>",
"numHours": 123,
"numMinutes": 123,
"leavePolicy": "<string>",
"leaveTypeUniqueId": "VACATION",
"policyDisplayName": "<string>",
"reasonForLeave": "<string>",
"processedAt": "<string>",
"processedBy": "<string>",
"processedByName": "<string>",
"roleTimezone": "<string>",
"dates": [
{
"date": "2023-12-25",
"numMinutes": 123
}
],
"isPaid": true,
"managedBy": "PTO",
"partialDays": [
{
"partialDay": "2023-12-25",
"numMinutes": 123
}
]
}POST Process Leave Request
Approve or decline a leave request. Only pending requests can be processed (approved / declined). Only an admin or manager is capable of taking action on a request.
curl --request POST \
--url https://api.rippling.com/platform/api/leave_requests/{id}/process \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rippling.com/platform/api/leave_requests/{id}/process"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rippling.com/platform/api/leave_requests/{id}/process', 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.rippling.com/platform/api/leave_requests/{id}/process",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.rippling.com/platform/api/leave_requests/{id}/process"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.rippling.com/platform/api/leave_requests/{id}/process")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rippling.com/platform/api/leave_requests/{id}/process")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"role": "<string>",
"roleName": "<string>",
"requestedBy": "<string>",
"requestedByName": "<string>",
"status": "PENDING",
"startDate": "<string>",
"endDate": "<string>",
"startDateStartTime": "<string>",
"endDateEndTime": "<string>",
"startDateCustomHours": "<string>",
"endDateCustomHours": "<string>",
"comments": "<string>",
"numHours": 123,
"numMinutes": 123,
"leavePolicy": "<string>",
"leaveTypeUniqueId": "VACATION",
"policyDisplayName": "<string>",
"reasonForLeave": "<string>",
"processedAt": "<string>",
"processedBy": "<string>",
"processedByName": "<string>",
"roleTimezone": "<string>",
"dates": [
{
"date": "2023-12-25",
"numMinutes": 123
}
],
"isPaid": true,
"managedBy": "PTO",
"partialDays": [
{
"partialDay": "2023-12-25",
"numMinutes": 123
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Unique identifier of the leave request being processed.
Query Parameters
The action to be taken on the leave request. Can be either approved or declined.
approve, decline Response
OK
Leave request object.
Unique identifier of the leave request.
Unique identifier of the employee who is taking leave.
Unique identifier of the employee who made the request (in most cases this is the same as role).
PENDING, APPROVED, REJECTED, CANCELED VACATION, SICK, JURY_DUTY Unique identifier of the employee who approved or rejected the request. This may be null.
Timezone of the role. This will be work location timezone, or home timezone for employees without a work location.
Show child attributes
Show child attributes
If the leave request is paid this will be TRUE. Otherwise, this will be FALSE.
This indicates the system that manages the Leave Request. PTO = managed by Rippling's Time Off app. LEAVES = managed by Rippling's Leave Management app. TILT = managed by third-party partner Tilt.
PTO, LEAVES, TILT Show child attributes
Show child attributes