Add leave
Needs: Staff, Read-write
Adds leave for a staff member, like Add leave on their Leave tab. It starts as Pending. Suppliers and archived staff are refused.
curl -X POST "https://app.imploy.com.au/api/integrations/v1/leave" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"staff_id": 31,
"from": "2026-03-02",
"to": "2026-03-06",
"type": "annual",
"reason": "Family holiday"
}'
import requests
import json
url = "https://app.imploy.com.au/api/integrations/v1/leave"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
data = {
"staff_id": 31,
"from": "2026-03-02",
"to": "2026-03-06",
"type": "annual",
"reason": "Family holiday"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://app.imploy.com.au/api/integrations/v1/leave", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
},
body: JSON.stringify({
"staff_id": 31,
"from": "2026-03-02",
"to": "2026-03-06",
"type": "annual",
"reason": "Family holiday"
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"staff_id": 31,
"from": "2026-03-02",
"to": "2026-03-06",
"type": "annual",
"reason": "Family holiday"
}`)
req, err := http.NewRequest("POST", "https://app.imploy.com.au/api/integrations/v1/leave", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://app.imploy.com.au/api/integrations/v1/leave')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
request.body = '{
"staff_id": 31,
"from": "2026-03-02",
"to": "2026-03-06",
"type": "annual",
"reason": "Family holiday"
}'
response = http.request(request)
puts response.body
{
"created": 8,
"leave": {
"id": 8,
"staff_id": 31,
"staff": "Example Worker",
"from": "2026-03-02",
"to": "2026-03-06",
"days": 5,
"type": "annual",
"status": "Pending",
"reason": "Family holiday"
}
}
{
"message": "Invalid or expired access token."
}
{
"message": "Access token does not permit this action."
}
{
"message": "Leave cannot start in the past.",
"error": "Leave cannot start in the past."
}
{
"message": "Too many requests."
}
/leave
Target server for requests. Edit to use your own host.
An organisation access token that starts with imp_at_. Send it as Authorization: Bearer imp_at_XXXX.
imp_at_. Send it as Authorization: Bearer imp_at_XXXX.The media type of the request body
The staff member's user id.
First day of leave, YYYY-MM-DD, today or later.
Last day of leave, YYYY-MM-DD, on or after from.
annual, sick or personal.
Up to 500 characters.
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. An organisation access token that starts with imp_at_. Send it as Authorization: Bearer imp_at_XXXX.
Body
The staff member's user id.
First day of leave, YYYY-MM-DD, today or later.
Last day of leave, YYYY-MM-DD, on or after from.
annual, sick or personal.
Up to 500 characters.