Reports
Create Deduction Summary Report
Start an asynchronous job to generate a Deduction Summary report listing employee deductions within a date range, broken down by deduction type.
POST
/
reports
/
deductions-summary
Create Deduction Summary Report
curl --request POST \
--url https://api.zeal.com/reports/deductions-summary \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"companyID": "f3cc3ec1fb1e144bd39504ue80cf3e20612",
"media_type": "csv",
"start_date": "2024-04-01",
"end_date": "2024-05-30"
}
'import requests
url = "https://api.zeal.com/reports/deductions-summary"
payload = {
"companyID": "f3cc3ec1fb1e144bd39504ue80cf3e20612",
"media_type": "csv",
"start_date": "2024-04-01",
"end_date": "2024-05-30"
}
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({
companyID: 'f3cc3ec1fb1e144bd39504ue80cf3e20612',
media_type: 'csv',
start_date: '2024-04-01',
end_date: '2024-05-30'
})
};
fetch('https://api.zeal.com/reports/deductions-summary', 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/deductions-summary",
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([
'companyID' => 'f3cc3ec1fb1e144bd39504ue80cf3e20612',
'media_type' => 'csv',
'start_date' => '2024-04-01',
'end_date' => '2024-05-30'
]),
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/deductions-summary"
payload := strings.NewReader("{\n \"companyID\": \"f3cc3ec1fb1e144bd39504ue80cf3e20612\",\n \"media_type\": \"csv\",\n \"start_date\": \"2024-04-01\",\n \"end_date\": \"2024-05-30\"\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/deductions-summary")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"companyID\": \"f3cc3ec1fb1e144bd39504ue80cf3e20612\",\n \"media_type\": \"csv\",\n \"start_date\": \"2024-04-01\",\n \"end_date\": \"2024-05-30\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zeal.com/reports/deductions-summary")
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 \"companyID\": \"f3cc3ec1fb1e144bd39504ue80cf3e20612\",\n \"media_type\": \"csv\",\n \"start_date\": \"2024-04-01\",\n \"end_date\": \"2024-05-30\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"job_id": "7282b13f-254f-4eb9-bt88-24f429be6aa0",
"status": "pending",
"request_body": {
"companyID": "f3cc3ec1fb1e144bd39504ue80cf3e20612",
"media_type": "csv",
"start_date": "2024-04-01",
"end_date": "2024-05-30"
},
"has_live_key": true,
"report_format": "deductions-summary"
},
"created_at": "2024-12-18T22:15:08.977Z"
}{
"success": false,
"errors": [
{
"message": "Must provide a valid companyID",
"code": 50
}
]
}Authorizations
Body
application/json
ID of the company.
The type of format this report can be downloaded as. Deduction Summary currently only supports "csv".
The start check date this report should retrieve deductions for. Date should be in ISO-8601 format (YYYY-MM-DD).
The end check date this report should retrieve deductions for. Date should be in ISO-8601 format (YYYY-MM-DD).
Filter by customer account(s) (Early Access)
⌘I
Create Deduction Summary Report
curl --request POST \
--url https://api.zeal.com/reports/deductions-summary \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"companyID": "f3cc3ec1fb1e144bd39504ue80cf3e20612",
"media_type": "csv",
"start_date": "2024-04-01",
"end_date": "2024-05-30"
}
'import requests
url = "https://api.zeal.com/reports/deductions-summary"
payload = {
"companyID": "f3cc3ec1fb1e144bd39504ue80cf3e20612",
"media_type": "csv",
"start_date": "2024-04-01",
"end_date": "2024-05-30"
}
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({
companyID: 'f3cc3ec1fb1e144bd39504ue80cf3e20612',
media_type: 'csv',
start_date: '2024-04-01',
end_date: '2024-05-30'
})
};
fetch('https://api.zeal.com/reports/deductions-summary', 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/deductions-summary",
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([
'companyID' => 'f3cc3ec1fb1e144bd39504ue80cf3e20612',
'media_type' => 'csv',
'start_date' => '2024-04-01',
'end_date' => '2024-05-30'
]),
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/deductions-summary"
payload := strings.NewReader("{\n \"companyID\": \"f3cc3ec1fb1e144bd39504ue80cf3e20612\",\n \"media_type\": \"csv\",\n \"start_date\": \"2024-04-01\",\n \"end_date\": \"2024-05-30\"\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/deductions-summary")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"companyID\": \"f3cc3ec1fb1e144bd39504ue80cf3e20612\",\n \"media_type\": \"csv\",\n \"start_date\": \"2024-04-01\",\n \"end_date\": \"2024-05-30\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zeal.com/reports/deductions-summary")
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 \"companyID\": \"f3cc3ec1fb1e144bd39504ue80cf3e20612\",\n \"media_type\": \"csv\",\n \"start_date\": \"2024-04-01\",\n \"end_date\": \"2024-05-30\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"job_id": "7282b13f-254f-4eb9-bt88-24f429be6aa0",
"status": "pending",
"request_body": {
"companyID": "f3cc3ec1fb1e144bd39504ue80cf3e20612",
"media_type": "csv",
"start_date": "2024-04-01",
"end_date": "2024-05-30"
},
"has_live_key": true,
"report_format": "deductions-summary"
},
"created_at": "2024-12-18T22:15:08.977Z"
}{
"success": false,
"errors": [
{
"message": "Must provide a valid companyID",
"code": 50
}
]
}