Paperwork API
Get Employee Custom Paperwork
Returns the custom paperwork required for an employee and whether each form is complete.
GET
/
employees
/
getCustomPaperwork
Get Employee Custom Paperwork
curl --request GET \
--url https://api.zeal.com/employees/getCustomPaperwork \
--header 'Authorization: <api-key>'import requests
url = "https://api.zeal.com/employees/getCustomPaperwork"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.zeal.com/employees/getCustomPaperwork', 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/employees/getCustomPaperwork",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.zeal.com/employees/getCustomPaperwork"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.zeal.com/employees/getCustomPaperwork")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zeal.com/employees/getCustomPaperwork")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"testMode": true,
"data": {
"employeeID": "603d0f8f1c4b2a4e28c8f0b4",
"all_required_complete": false,
"paperwork": [
{
"templateID": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"form_name": "Direct deposit authorization",
"status": "complete"
},
{
"templateID": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"form_name": "Handbook acknowledgement",
"status": "incomplete"
}
]
}
}Returns the custom paperwork forms this employee must complete, and whether each one is complete. These are the same custom forms the employee is shown during onboarding. A form is included only when it is live, its effective date has passed, it is not archived, and it matches the employee’s worker type, jurisdiction, and attribute rules. Jurisdictions are the US, the employee’s residence state, and the state of their work location.
all_required_complete is true when every returned form is complete, including when paperwork is empty. Archived forms are not listed, even if the employee signed them.
Pass companyID and employeeID as query parameters. The API key must be allowed to access that company. Custom paperwork must be enabled for the company. If it is not, the request returns Your company does not have access to interact with this route. (code 126, status 403). The employee must have a work location that Zeal can load. If it is missing, the request returns a Work Location(s) not found error.⌘I
Get Employee Custom Paperwork
curl --request GET \
--url https://api.zeal.com/employees/getCustomPaperwork \
--header 'Authorization: <api-key>'import requests
url = "https://api.zeal.com/employees/getCustomPaperwork"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.zeal.com/employees/getCustomPaperwork', 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/employees/getCustomPaperwork",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.zeal.com/employees/getCustomPaperwork"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.zeal.com/employees/getCustomPaperwork")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zeal.com/employees/getCustomPaperwork")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"testMode": true,
"data": {
"employeeID": "603d0f8f1c4b2a4e28c8f0b4",
"all_required_complete": false,
"paperwork": [
{
"templateID": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"form_name": "Direct deposit authorization",
"status": "complete"
},
{
"templateID": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"form_name": "Handbook acknowledgement",
"status": "incomplete"
}
]
}
}