Reports
Create Labor Allocation Report
Start an asynchronous job to generate a Labor Allocation report showing how labor hours and costs are distributed across cost centers or departments.
POST
/
reports
/
labor-allocation
Create Labor Allocation Report
curl --request POST \
--url https://api.zeal.com/reports/labor-allocation \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"start_date": "2023-12-01",
"end_date": "2024-12-20",
"companyID": "24b5b29f07924230b119c34c1358940c",
"media_type": "csv",
"include_migrated": false
}
'import requests
url = "https://api.zeal.com/reports/labor-allocation"
payload = {
"start_date": "2023-12-01",
"end_date": "2024-12-20",
"companyID": "24b5b29f07924230b119c34c1358940c",
"media_type": "csv",
"include_migrated": False
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
start_date: '2023-12-01',
end_date: '2024-12-20',
companyID: '24b5b29f07924230b119c34c1358940c',
media_type: 'csv',
include_migrated: false
})
};
fetch('https://api.zeal.com/reports/labor-allocation', 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.zeal.com/reports/labor-allocation",
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([
'start_date' => '2023-12-01',
'end_date' => '2024-12-20',
'companyID' => '24b5b29f07924230b119c34c1358940c',
'media_type' => 'csv',
'include_migrated' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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://api.zeal.com/reports/labor-allocation"
payload := strings.NewReader("{\n \"start_date\": \"2023-12-01\",\n \"end_date\": \"2024-12-20\",\n \"companyID\": \"24b5b29f07924230b119c34c1358940c\",\n \"media_type\": \"csv\",\n \"include_migrated\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
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://api.zeal.com/reports/labor-allocation")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"start_date\": \"2023-12-01\",\n \"end_date\": \"2024-12-20\",\n \"companyID\": \"24b5b29f07924230b119c34c1358940c\",\n \"media_type\": \"csv\",\n \"include_migrated\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zeal.com/reports/labor-allocation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"start_date\": \"2023-12-01\",\n \"end_date\": \"2024-12-20\",\n \"companyID\": \"24b5b29f07924230b119c34c1358940c\",\n \"media_type\": \"csv\",\n \"include_migrated\": false\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"job_id": "c33bbb6d-b6cf-45bt-891d-aa94743f2d97",
"status": "pending",
"request_body": {
"start_date": "2023-12-01",
"end_date": "2023-12-20",
"companyID": "24b5b23f07924820b119c34c1358940c",
"media_type": "csv",
"include_migrated": false,
"has_live_key": true,
"report_format": "labor_allocation"
},
"created_at": "2023-12-21T22:08:16.596Z"
}
}{
"success": false,
"errors": [
{
"message": "Must provide a valid companyID",
"code": 50
}
]
}Authorizations
Body
application/json
Start date of Labor data. Date should be in ISO-8601 format (YYYY-MM-DD).
End date of Labor data. Date should be in ISO-8601 format (YYYY-MM-DD).
ID of the company for report
Type of file the report will be (csv is the only supported file)
Filter by customer account(s) (Early Access)
Include migrated data in the report
Response
200
⌘I
Create Labor Allocation Report
curl --request POST \
--url https://api.zeal.com/reports/labor-allocation \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"start_date": "2023-12-01",
"end_date": "2024-12-20",
"companyID": "24b5b29f07924230b119c34c1358940c",
"media_type": "csv",
"include_migrated": false
}
'import requests
url = "https://api.zeal.com/reports/labor-allocation"
payload = {
"start_date": "2023-12-01",
"end_date": "2024-12-20",
"companyID": "24b5b29f07924230b119c34c1358940c",
"media_type": "csv",
"include_migrated": False
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
start_date: '2023-12-01',
end_date: '2024-12-20',
companyID: '24b5b29f07924230b119c34c1358940c',
media_type: 'csv',
include_migrated: false
})
};
fetch('https://api.zeal.com/reports/labor-allocation', 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.zeal.com/reports/labor-allocation",
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([
'start_date' => '2023-12-01',
'end_date' => '2024-12-20',
'companyID' => '24b5b29f07924230b119c34c1358940c',
'media_type' => 'csv',
'include_migrated' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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://api.zeal.com/reports/labor-allocation"
payload := strings.NewReader("{\n \"start_date\": \"2023-12-01\",\n \"end_date\": \"2024-12-20\",\n \"companyID\": \"24b5b29f07924230b119c34c1358940c\",\n \"media_type\": \"csv\",\n \"include_migrated\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
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://api.zeal.com/reports/labor-allocation")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"start_date\": \"2023-12-01\",\n \"end_date\": \"2024-12-20\",\n \"companyID\": \"24b5b29f07924230b119c34c1358940c\",\n \"media_type\": \"csv\",\n \"include_migrated\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zeal.com/reports/labor-allocation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"start_date\": \"2023-12-01\",\n \"end_date\": \"2024-12-20\",\n \"companyID\": \"24b5b29f07924230b119c34c1358940c\",\n \"media_type\": \"csv\",\n \"include_migrated\": false\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"job_id": "c33bbb6d-b6cf-45bt-891d-aa94743f2d97",
"status": "pending",
"request_body": {
"start_date": "2023-12-01",
"end_date": "2023-12-20",
"companyID": "24b5b23f07924820b119c34c1358940c",
"media_type": "csv",
"include_migrated": false,
"has_live_key": true,
"report_format": "labor_allocation"
},
"created_at": "2023-12-21T22:08:16.596Z"
}
}{
"success": false,
"errors": [
{
"message": "Must provide a valid companyID",
"code": 50
}
]
}