Clock out
Needs: Roster, Read-write
Clocks staff out of a shift now with their shift notes, like Clock out on the roster. This creates the billables and any travel claims. A note left empty is saved as Note not provided. Confirm before calling this.
Errors
422with<name> has not clocked in. Set complete_if_not_clocked_in to complete the shift for themwhen someone never clocked in.
curl -X POST "https://app.imploy.com.au/api/integrations/v1/shifts/example_string/clock-out" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"staff": [
{
"staff_id": 31,
"notes": "<p>Visit completed, no concerns.</p>"
}
]
}'
import requests
import json
url = "https://app.imploy.com.au/api/integrations/v1/shifts/example_string/clock-out"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
data = {
"staff": [
{
"staff_id": 31,
"notes": "<p>Visit completed, no concerns.</p>"
}
]
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://app.imploy.com.au/api/integrations/v1/shifts/example_string/clock-out", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
},
body: JSON.stringify({
"staff": [
{
"staff_id": 31,
"notes": "<p>Visit completed, no concerns.</p>"
}
]
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"staff": [
{
"staff_id": 31,
"notes": "<p>Visit completed, no concerns.</p>"
}
]
}`)
req, err := http.NewRequest("POST", "https://app.imploy.com.au/api/integrations/v1/shifts/example_string/clock-out", 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/shifts/example_string/clock-out')
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": [
{
"staff_id": 31,
"notes": "<p>Visit completed, no concerns.</p>"
}
]
}'
response = http.request(request)
puts response.body
{
"ref": "a:123",
"succeeded": 1,
"failed": 0,
"results": [
{
"staff": "Example Worker",
"ok": true
}
]
}
{
"message": "Invalid or expired access token."
}
{
"message": "Access token does not permit this action."
}
{
"message": "Too many requests."
}
/shifts/{ref}/clock-outTarget 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 shift ref, such as a:123.
The media type of the request body
Who to clock out. Each has a staff_id, and optionally notes and segment_notes.
For staff who never clocked in: clock them in and out now (Complete shift). Only use after confirming.
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.
Path Parameters
The shift ref, such as a:123.
Body
Who to clock out. Each has a staff_id, and optionally notes and segment_notes.
For staff who never clocked in: clock them in and out now (Complete shift). Only use after confirming.
Responses
OK