Clock off. duration_minutes is generated from the two timestamps.
curl --request POST \
--url https://app.assetinfinity.ai/api/rpc/check_out_work_order \
--header 'Content-Type: application/json' \
--data '
{
"p_time_entry_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_ended_at": "<string>",
"p_notes": "<string>"
}
'import requests
url = "https://app.assetinfinity.ai/api/rpc/check_out_work_order"
payload = {
"p_time_entry_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_ended_at": "<string>",
"p_notes": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
p_time_entry_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
p_ended_at: '<string>',
p_notes: '<string>'
})
};
fetch('https://app.assetinfinity.ai/api/rpc/check_out_work_order', 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://app.assetinfinity.ai/api/rpc/check_out_work_order",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'p_time_entry_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'p_ended_at' => '<string>',
'p_notes' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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://app.assetinfinity.ai/api/rpc/check_out_work_order"
payload := strings.NewReader("{\n \"p_time_entry_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_ended_at\": \"<string>\",\n \"p_notes\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://app.assetinfinity.ai/api/rpc/check_out_work_order")
.header("Content-Type", "application/json")
.body("{\n \"p_time_entry_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_ended_at\": \"<string>\",\n \"p_notes\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.assetinfinity.ai/api/rpc/check_out_work_order")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"p_time_entry_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_ended_at\": \"<string>\",\n \"p_notes\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyWork lifecycle
Clock off. duration_minutes is generated from the two timestamps.
Pass ended_at when the clocking off happened earlier than this call — a client that recorded the moment offline and is sending it now. It defaults to the time of the call, and is refused if it is dated in the future or earlier than the check-in it closes.
POST
/
rpc
/
check_out_work_order
Clock off. duration_minutes is generated from the two timestamps.
curl --request POST \
--url https://app.assetinfinity.ai/api/rpc/check_out_work_order \
--header 'Content-Type: application/json' \
--data '
{
"p_time_entry_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_ended_at": "<string>",
"p_notes": "<string>"
}
'import requests
url = "https://app.assetinfinity.ai/api/rpc/check_out_work_order"
payload = {
"p_time_entry_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_ended_at": "<string>",
"p_notes": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
p_time_entry_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
p_ended_at: '<string>',
p_notes: '<string>'
})
};
fetch('https://app.assetinfinity.ai/api/rpc/check_out_work_order', 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://app.assetinfinity.ai/api/rpc/check_out_work_order",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'p_time_entry_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'p_ended_at' => '<string>',
'p_notes' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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://app.assetinfinity.ai/api/rpc/check_out_work_order"
payload := strings.NewReader("{\n \"p_time_entry_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_ended_at\": \"<string>\",\n \"p_notes\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://app.assetinfinity.ai/api/rpc/check_out_work_order")
.header("Content-Type", "application/json")
.body("{\n \"p_time_entry_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_ended_at\": \"<string>\",\n \"p_notes\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.assetinfinity.ai/api/rpc/check_out_work_order")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"p_time_entry_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_ended_at\": \"<string>\",\n \"p_notes\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyHeaders
Preference
Available options:
params=single-object Body
application/jsonapplication/vnd.pgrst.object+jsonapplication/vnd.pgrst.object+json;nulls=strippedtext/csv
Clock off. duration_minutes is generated from the two timestamps.
Pass ended_at when the clocking off happened earlier than this call — a client that recorded the moment offline and is sending it now. It defaults to the time of the call, and is refused if it is dated in the future or earlier than the check-in it closes.
Response
200
OK
⌘I

