Publish or unpublish
Needs: Roster, Read-write
Publishes draft shifts to staff, which sends notifications, or unpublishes them. Without refs it affects every draft shift in the date range.
Note: With
unpublish, the key isunpublished.resultshassingle_client_shiftsandgroup_shiftsmessages for whichever kinds were touched.
curl -X POST "https://app.imploy.com.au/api/integrations/v1/shifts/publish" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"refs": [
"a:123",
"a:124"
]
}'
import requests
import json
url = "https://app.imploy.com.au/api/integrations/v1/shifts/publish"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
data = {
"refs": [
"a:123",
"a:124"
]
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://app.imploy.com.au/api/integrations/v1/shifts/publish", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
},
body: JSON.stringify({
"refs": [
"a:123",
"a:124"
]
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"refs": [
"a:123",
"a:124"
]
}`)
req, err := http.NewRequest("POST", "https://app.imploy.com.au/api/integrations/v1/shifts/publish", 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/publish')
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 = '{
"refs": [
"a:123",
"a:124"
]
}'
response = http.request(request)
puts response.body
{
"published": true,
"results": {
"single_client_shifts": "..."
}
}
{
"message": "Invalid or expired access token."
}
{
"message": "Access token does not permit this action."
}
{
"message": "Too many requests."
}
/shifts/publish
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
Only these shifts, up to 500. Otherwise every draft in the range.
YYYY-MM-DD. Needed when refs is not sent.
YYYY-MM-DD, on or after from. Needed when refs is not sent.
Unpublish instead of publish.
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
Only these shifts, up to 500. Otherwise every draft in the range.
YYYY-MM-DD. Needed when refs is not sent.
YYYY-MM-DD, on or after from. Needed when refs is not sent.
Unpublish instead of publish.
Responses
OK