Generate PDF report for calculator
curl --request POST \
--url https://calculators.symmetry.com/api/print \
--header 'Content-Type: application/json' \
--header 'pcc-api-key: <api-key>' \
--data '
{
"calculator": {
"checkDate": 1464291711938,
"federalAllowances": 0,
"federalFilingStatusType": "SINGLE",
"grossPay": 52000,
"grossPayType": "ANNUALLY",
"grossPayYTD": 0,
"payFrequency": "WEEKLY",
"state": "AZ",
"stateInfo": {
"parms": [
{
"name": "PERCENTSTATE",
"value": "2.7"
},
{
"name": "stateExemption",
"value": false
}
]
},
"voluntaryDeductions": [
{
"benefitType": "_401k",
"deductionAmount": 2,
"deductionMethodType": "PERCENT_OF_GROSS",
"deductionName": "401k",
"exemptFederal": true,
"exemptFica": true,
"exemptLocal": true,
"exemptState": true
}
],
"w42020": false
}
}
'import requests
url = "https://calculators.symmetry.com/api/print"
payload = { "calculator": {
"checkDate": 1464291711938,
"federalAllowances": 0,
"federalFilingStatusType": "SINGLE",
"grossPay": 52000,
"grossPayType": "ANNUALLY",
"grossPayYTD": 0,
"payFrequency": "WEEKLY",
"state": "AZ",
"stateInfo": { "parms": [
{
"name": "PERCENTSTATE",
"value": "2.7"
},
{
"name": "stateExemption",
"value": False
}
] },
"voluntaryDeductions": [
{
"benefitType": "_401k",
"deductionAmount": 2,
"deductionMethodType": "PERCENT_OF_GROSS",
"deductionName": "401k",
"exemptFederal": True,
"exemptFica": True,
"exemptLocal": True,
"exemptState": True
}
],
"w42020": False
} }
headers = {
"pcc-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'pcc-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
calculator: {
checkDate: 1464291711938,
federalAllowances: 0,
federalFilingStatusType: 'SINGLE',
grossPay: 52000,
grossPayType: 'ANNUALLY',
grossPayYTD: 0,
payFrequency: 'WEEKLY',
state: 'AZ',
stateInfo: {
parms: [{name: 'PERCENTSTATE', value: '2.7'}, {name: 'stateExemption', value: false}]
},
voluntaryDeductions: [
{
benefitType: '_401k',
deductionAmount: 2,
deductionMethodType: 'PERCENT_OF_GROSS',
deductionName: '401k',
exemptFederal: true,
exemptFica: true,
exemptLocal: true,
exemptState: true
}
],
w42020: false
}
})
};
fetch('https://calculators.symmetry.com/api/print', 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://calculators.symmetry.com/api/print",
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([
'calculator' => [
'checkDate' => 1464291711938,
'federalAllowances' => 0,
'federalFilingStatusType' => 'SINGLE',
'grossPay' => 52000,
'grossPayType' => 'ANNUALLY',
'grossPayYTD' => 0,
'payFrequency' => 'WEEKLY',
'state' => 'AZ',
'stateInfo' => [
'parms' => [
[
'name' => 'PERCENTSTATE',
'value' => '2.7'
],
[
'name' => 'stateExemption',
'value' => false
]
]
],
'voluntaryDeductions' => [
[
'benefitType' => '_401k',
'deductionAmount' => 2,
'deductionMethodType' => 'PERCENT_OF_GROSS',
'deductionName' => '401k',
'exemptFederal' => true,
'exemptFica' => true,
'exemptLocal' => true,
'exemptState' => true
]
],
'w42020' => false
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"pcc-api-key: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://calculators.symmetry.com/api/print"
payload := strings.NewReader("{\n \"calculator\": {\n \"checkDate\": 1464291711938,\n \"federalAllowances\": 0,\n \"federalFilingStatusType\": \"SINGLE\",\n \"grossPay\": 52000,\n \"grossPayType\": \"ANNUALLY\",\n \"grossPayYTD\": 0,\n \"payFrequency\": \"WEEKLY\",\n \"state\": \"AZ\",\n \"stateInfo\": {\n \"parms\": [\n {\n \"name\": \"PERCENTSTATE\",\n \"value\": \"2.7\"\n },\n {\n \"name\": \"stateExemption\",\n \"value\": false\n }\n ]\n },\n \"voluntaryDeductions\": [\n {\n \"benefitType\": \"_401k\",\n \"deductionAmount\": 2,\n \"deductionMethodType\": \"PERCENT_OF_GROSS\",\n \"deductionName\": \"401k\",\n \"exemptFederal\": true,\n \"exemptFica\": true,\n \"exemptLocal\": true,\n \"exemptState\": true\n }\n ],\n \"w42020\": false\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("pcc-api-key", "<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://calculators.symmetry.com/api/print")
.header("pcc-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"calculator\": {\n \"checkDate\": 1464291711938,\n \"federalAllowances\": 0,\n \"federalFilingStatusType\": \"SINGLE\",\n \"grossPay\": 52000,\n \"grossPayType\": \"ANNUALLY\",\n \"grossPayYTD\": 0,\n \"payFrequency\": \"WEEKLY\",\n \"state\": \"AZ\",\n \"stateInfo\": {\n \"parms\": [\n {\n \"name\": \"PERCENTSTATE\",\n \"value\": \"2.7\"\n },\n {\n \"name\": \"stateExemption\",\n \"value\": false\n }\n ]\n },\n \"voluntaryDeductions\": [\n {\n \"benefitType\": \"_401k\",\n \"deductionAmount\": 2,\n \"deductionMethodType\": \"PERCENT_OF_GROSS\",\n \"deductionName\": \"401k\",\n \"exemptFederal\": true,\n \"exemptFica\": true,\n \"exemptLocal\": true,\n \"exemptState\": true\n }\n ],\n \"w42020\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://calculators.symmetry.com/api/print")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["pcc-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"calculator\": {\n \"checkDate\": 1464291711938,\n \"federalAllowances\": 0,\n \"federalFilingStatusType\": \"SINGLE\",\n \"grossPay\": 52000,\n \"grossPayType\": \"ANNUALLY\",\n \"grossPayYTD\": 0,\n \"payFrequency\": \"WEEKLY\",\n \"state\": \"AZ\",\n \"stateInfo\": {\n \"parms\": [\n {\n \"name\": \"PERCENTSTATE\",\n \"value\": \"2.7\"\n },\n {\n \"name\": \"stateExemption\",\n \"value\": false\n }\n ]\n },\n \"voluntaryDeductions\": [\n {\n \"benefitType\": \"_401k\",\n \"deductionAmount\": 2,\n \"deductionMethodType\": \"PERCENT_OF_GROSS\",\n \"deductionName\": \"401k\",\n \"exemptFederal\": true,\n \"exemptFica\": true,\n \"exemptLocal\": true,\n \"exemptState\": true\n }\n ],\n \"w42020\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"_links": {
"self": {
"href": "https://calculators.symmetry.com/api/print?calculator=salary&report=all&showcalc=false"
}
},
"content": {
"reports": {
"Check in middle": "JVBERi0xLjQKJfbk/N8...",
"Check on bottom": "JVBERi0xLjQKJfbk/N8...",
"Check on top": "JVBERi0xLjQKJfbk/N8...",
"Earnings record": "JVBERi0xLjQKJfbk/N8..."
}
}
}POST’s a single calculator calculation to the STE and generates a PDF report. Returns base64-encoded PDF documents based on the specified report type. Calculator value in query parameter should match the calculator type in the request body.
POST
/
print
Generate PDF report for calculator
curl --request POST \
--url https://calculators.symmetry.com/api/print \
--header 'Content-Type: application/json' \
--header 'pcc-api-key: <api-key>' \
--data '
{
"calculator": {
"checkDate": 1464291711938,
"federalAllowances": 0,
"federalFilingStatusType": "SINGLE",
"grossPay": 52000,
"grossPayType": "ANNUALLY",
"grossPayYTD": 0,
"payFrequency": "WEEKLY",
"state": "AZ",
"stateInfo": {
"parms": [
{
"name": "PERCENTSTATE",
"value": "2.7"
},
{
"name": "stateExemption",
"value": false
}
]
},
"voluntaryDeductions": [
{
"benefitType": "_401k",
"deductionAmount": 2,
"deductionMethodType": "PERCENT_OF_GROSS",
"deductionName": "401k",
"exemptFederal": true,
"exemptFica": true,
"exemptLocal": true,
"exemptState": true
}
],
"w42020": false
}
}
'import requests
url = "https://calculators.symmetry.com/api/print"
payload = { "calculator": {
"checkDate": 1464291711938,
"federalAllowances": 0,
"federalFilingStatusType": "SINGLE",
"grossPay": 52000,
"grossPayType": "ANNUALLY",
"grossPayYTD": 0,
"payFrequency": "WEEKLY",
"state": "AZ",
"stateInfo": { "parms": [
{
"name": "PERCENTSTATE",
"value": "2.7"
},
{
"name": "stateExemption",
"value": False
}
] },
"voluntaryDeductions": [
{
"benefitType": "_401k",
"deductionAmount": 2,
"deductionMethodType": "PERCENT_OF_GROSS",
"deductionName": "401k",
"exemptFederal": True,
"exemptFica": True,
"exemptLocal": True,
"exemptState": True
}
],
"w42020": False
} }
headers = {
"pcc-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'pcc-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
calculator: {
checkDate: 1464291711938,
federalAllowances: 0,
federalFilingStatusType: 'SINGLE',
grossPay: 52000,
grossPayType: 'ANNUALLY',
grossPayYTD: 0,
payFrequency: 'WEEKLY',
state: 'AZ',
stateInfo: {
parms: [{name: 'PERCENTSTATE', value: '2.7'}, {name: 'stateExemption', value: false}]
},
voluntaryDeductions: [
{
benefitType: '_401k',
deductionAmount: 2,
deductionMethodType: 'PERCENT_OF_GROSS',
deductionName: '401k',
exemptFederal: true,
exemptFica: true,
exemptLocal: true,
exemptState: true
}
],
w42020: false
}
})
};
fetch('https://calculators.symmetry.com/api/print', 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://calculators.symmetry.com/api/print",
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([
'calculator' => [
'checkDate' => 1464291711938,
'federalAllowances' => 0,
'federalFilingStatusType' => 'SINGLE',
'grossPay' => 52000,
'grossPayType' => 'ANNUALLY',
'grossPayYTD' => 0,
'payFrequency' => 'WEEKLY',
'state' => 'AZ',
'stateInfo' => [
'parms' => [
[
'name' => 'PERCENTSTATE',
'value' => '2.7'
],
[
'name' => 'stateExemption',
'value' => false
]
]
],
'voluntaryDeductions' => [
[
'benefitType' => '_401k',
'deductionAmount' => 2,
'deductionMethodType' => 'PERCENT_OF_GROSS',
'deductionName' => '401k',
'exemptFederal' => true,
'exemptFica' => true,
'exemptLocal' => true,
'exemptState' => true
]
],
'w42020' => false
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"pcc-api-key: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://calculators.symmetry.com/api/print"
payload := strings.NewReader("{\n \"calculator\": {\n \"checkDate\": 1464291711938,\n \"federalAllowances\": 0,\n \"federalFilingStatusType\": \"SINGLE\",\n \"grossPay\": 52000,\n \"grossPayType\": \"ANNUALLY\",\n \"grossPayYTD\": 0,\n \"payFrequency\": \"WEEKLY\",\n \"state\": \"AZ\",\n \"stateInfo\": {\n \"parms\": [\n {\n \"name\": \"PERCENTSTATE\",\n \"value\": \"2.7\"\n },\n {\n \"name\": \"stateExemption\",\n \"value\": false\n }\n ]\n },\n \"voluntaryDeductions\": [\n {\n \"benefitType\": \"_401k\",\n \"deductionAmount\": 2,\n \"deductionMethodType\": \"PERCENT_OF_GROSS\",\n \"deductionName\": \"401k\",\n \"exemptFederal\": true,\n \"exemptFica\": true,\n \"exemptLocal\": true,\n \"exemptState\": true\n }\n ],\n \"w42020\": false\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("pcc-api-key", "<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://calculators.symmetry.com/api/print")
.header("pcc-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"calculator\": {\n \"checkDate\": 1464291711938,\n \"federalAllowances\": 0,\n \"federalFilingStatusType\": \"SINGLE\",\n \"grossPay\": 52000,\n \"grossPayType\": \"ANNUALLY\",\n \"grossPayYTD\": 0,\n \"payFrequency\": \"WEEKLY\",\n \"state\": \"AZ\",\n \"stateInfo\": {\n \"parms\": [\n {\n \"name\": \"PERCENTSTATE\",\n \"value\": \"2.7\"\n },\n {\n \"name\": \"stateExemption\",\n \"value\": false\n }\n ]\n },\n \"voluntaryDeductions\": [\n {\n \"benefitType\": \"_401k\",\n \"deductionAmount\": 2,\n \"deductionMethodType\": \"PERCENT_OF_GROSS\",\n \"deductionName\": \"401k\",\n \"exemptFederal\": true,\n \"exemptFica\": true,\n \"exemptLocal\": true,\n \"exemptState\": true\n }\n ],\n \"w42020\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://calculators.symmetry.com/api/print")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["pcc-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"calculator\": {\n \"checkDate\": 1464291711938,\n \"federalAllowances\": 0,\n \"federalFilingStatusType\": \"SINGLE\",\n \"grossPay\": 52000,\n \"grossPayType\": \"ANNUALLY\",\n \"grossPayYTD\": 0,\n \"payFrequency\": \"WEEKLY\",\n \"state\": \"AZ\",\n \"stateInfo\": {\n \"parms\": [\n {\n \"name\": \"PERCENTSTATE\",\n \"value\": \"2.7\"\n },\n {\n \"name\": \"stateExemption\",\n \"value\": false\n }\n ]\n },\n \"voluntaryDeductions\": [\n {\n \"benefitType\": \"_401k\",\n \"deductionAmount\": 2,\n \"deductionMethodType\": \"PERCENT_OF_GROSS\",\n \"deductionName\": \"401k\",\n \"exemptFederal\": true,\n \"exemptFica\": true,\n \"exemptLocal\": true,\n \"exemptState\": true\n }\n ],\n \"w42020\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"_links": {
"self": {
"href": "https://calculators.symmetry.com/api/print?calculator=salary&report=all&showcalc=false"
}
},
"content": {
"reports": {
"Check in middle": "JVBERi0xLjQKJfbk/N8...",
"Check on bottom": "JVBERi0xLjQKJfbk/N8...",
"Check on top": "JVBERi0xLjQKJfbk/N8...",
"Earnings record": "JVBERi0xLjQKJfbk/N8..."
}
}
}Authorizations
API key for CBS API authentication
Query Parameters
The calculator type to use
Available options:
401k, 403b, 457, agbonus, finalpay, flatbonus, grossup, hourly, salary, stockoption, taxtip, tuition The type of PDF report to generate
Available options:
all, checkbottom, checkmiddle, checktop, deluxe_b100, deluxe_b211, deluxe_m102, deluxe_m145, deluxe_t104, deluxe_t111, earnings, quickbooks_top Show calculator object in response (currently non-functional)
Body
application/json
Calculator object with all required fields for the specified calculator type
The body is of type string.
Response
PDF report generated successfully (returns base64-encoded PDF)
⌘I

