curl --request GET \
--url https://sandbox.rollfi.xyz/reports/getPayPeriodDetails \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"method": "getPayPeriodDetails",
"payPeriodId": "7BF6D637-9E8C-4AF6-A8B0-A24F36CA2F53",
"includeTransactions": false,
"limit": 50,
"offset": 0
}
'import requests
url = "https://sandbox.rollfi.xyz/reports/getPayPeriodDetails"
payload = {
"method": "getPayPeriodDetails",
"payPeriodId": "7BF6D637-9E8C-4AF6-A8B0-A24F36CA2F53",
"includeTransactions": False,
"limit": 50,
"offset": 0
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
method: 'getPayPeriodDetails',
payPeriodId: '7BF6D637-9E8C-4AF6-A8B0-A24F36CA2F53',
includeTransactions: false,
limit: 50,
offset: 0
})
};
fetch('https://sandbox.rollfi.xyz/reports/getPayPeriodDetails', 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://sandbox.rollfi.xyz/reports/getPayPeriodDetails",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'method' => 'getPayPeriodDetails',
'payPeriodId' => '7BF6D637-9E8C-4AF6-A8B0-A24F36CA2F53',
'includeTransactions' => false,
'limit' => 50,
'offset' => 0
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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://sandbox.rollfi.xyz/reports/getPayPeriodDetails"
payload := strings.NewReader("{\n \"method\": \"getPayPeriodDetails\",\n \"payPeriodId\": \"7BF6D637-9E8C-4AF6-A8B0-A24F36CA2F53\",\n \"includeTransactions\": false,\n \"limit\": 50,\n \"offset\": 0\n}")
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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.get("https://sandbox.rollfi.xyz/reports/getPayPeriodDetails")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"method\": \"getPayPeriodDetails\",\n \"payPeriodId\": \"7BF6D637-9E8C-4AF6-A8B0-A24F36CA2F53\",\n \"includeTransactions\": false,\n \"limit\": 50,\n \"offset\": 0\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.rollfi.xyz/reports/getPayPeriodDetails")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"method\": \"getPayPeriodDetails\",\n \"payPeriodId\": \"7BF6D637-9E8C-4AF6-A8B0-A24F36CA2F53\",\n \"includeTransactions\": false,\n \"limit\": 50,\n \"offset\": 0\n}"
response = http.request(request)
puts response.read_body{
"pagination": {
"offset": 0,
"limit": 50,
"total": 1
},
"payPeriod": [
{
"payPeriodId": "7BF6D637-9E8C-4AF6-A8B0-A24F36CA2F53",
"payScheduleId": "56925A03-645D-4AC8-BBDF-6960A1DFF394",
"companyId": "3986B7F2-AC6E-4694-A2B1-970167A98216",
"payPeriod": "09/01/2026 - 09/15/2026",
"deadLineToRunPayroll": "2026-09-14",
"PayPeriodStatus": "processed",
"total": 2025,
"debitAmount": 2140,
"employeeTaxSum": 250,
"employerTaxSum": 115,
"isProcessed": true,
"payDate": "2026-09-18",
"payEndDate": "2026-09-15",
"payBeginDate": "2026-09-01",
"workerType": {
"workerType": "W2"
},
"payPeriodType": {
"payPeriodType": "Regular"
},
"payrollLineItems": [
{
"userId": "4DF5A79A-3735-4588-95A6-B80D15CB5A5E",
"userName": "Alex Morgan",
"baseTotal": 2000,
"numberOfLeaveDays": 0,
"lop": 0,
"retroAmount": 0,
"grossTotal": 2025,
"netTotal": 1775,
"payHours": 80,
"payRate": 25,
"standardWorkingHours": 8,
"differentialPay": true,
"isMiscellaneousStateTaxApplicable": false,
"employeeWages": [
{
"wageRate": 25,
"wageBasis": {
"wageBasis": "Hourly"
}
}
],
"paymentMethod": "Direct Deposit",
"employeeTax": {
"employeeTax": 250
},
"employeeTaxDetails": [
{
"taxName": "Federal Withholding Tax",
"taxAmount": 250,
"taxAmountYtd": 2250,
"isEmployerTax": false
}
],
"employerTaxDetails": [
{
"taxName": "Social Security",
"taxAmount": 115,
"taxAmountYtd": 1035,
"isEmployerTax": true
}
],
"taxAdjustments": [
{
"taxName": "Federal Withholding Tax",
"taxAmount": 10.5
}
],
"miscellaneousStateTaxes": [],
"overTimes": [],
"additionalCompensations": [],
"deductions": [],
"reimbursements": [],
"garnishments": [],
"timeOffs": [],
"payDetails": [
{
"payPercentage": 100,
"amount": 1775,
"employeePayAccount": {
"accountName": "Primary Checking"
},
"paymentMethod": "Direct Deposit"
}
],
"basePay": [
{
"payCode": "REG",
"payHours": 80,
"payRate": 25,
"multiplier": 1,
"amount": 2000
},
{
"payCode": "SHIFT",
"payHours": 2.5,
"payRate": 10,
"multiplier": 1,
"amount": 25
}
]
}
]
}
]
}getPayPeriodDetails
The getPayPeriodDetails API retrieves detailed payroll information for a specific pay period using a payPeriodId. Use it to review payroll totals, employee earnings, taxes, deductions, reimbursements, garnishments, and payment allocations.
What it does:
- Returns pay period dates, status, companyId, payScheduleId, totals, and debitAmount
- Provides employee gross and net pay, wage information, differential-pay eligibility, and imported base-pay entries when available
- Returns employee and employer tax details, tax adjustments, and grouped miscellaneous state taxes
- Includes overtime, additional compensation, deductions, reimbursements, formatted time off, garnishments, and payment allocations
- Supports pagination of payrollLineItems using limit and offset
Notes:
- includeTransactions can be used to view the company debit and employee credits on each payPeriod
- includeTransactions defaults to false when not included in the request
- limit and offset are optional; omit both to retrieve all payroll line items
curl --request GET \
--url https://sandbox.rollfi.xyz/reports/getPayPeriodDetails \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"method": "getPayPeriodDetails",
"payPeriodId": "7BF6D637-9E8C-4AF6-A8B0-A24F36CA2F53",
"includeTransactions": false,
"limit": 50,
"offset": 0
}
'import requests
url = "https://sandbox.rollfi.xyz/reports/getPayPeriodDetails"
payload = {
"method": "getPayPeriodDetails",
"payPeriodId": "7BF6D637-9E8C-4AF6-A8B0-A24F36CA2F53",
"includeTransactions": False,
"limit": 50,
"offset": 0
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
method: 'getPayPeriodDetails',
payPeriodId: '7BF6D637-9E8C-4AF6-A8B0-A24F36CA2F53',
includeTransactions: false,
limit: 50,
offset: 0
})
};
fetch('https://sandbox.rollfi.xyz/reports/getPayPeriodDetails', 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://sandbox.rollfi.xyz/reports/getPayPeriodDetails",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'method' => 'getPayPeriodDetails',
'payPeriodId' => '7BF6D637-9E8C-4AF6-A8B0-A24F36CA2F53',
'includeTransactions' => false,
'limit' => 50,
'offset' => 0
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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://sandbox.rollfi.xyz/reports/getPayPeriodDetails"
payload := strings.NewReader("{\n \"method\": \"getPayPeriodDetails\",\n \"payPeriodId\": \"7BF6D637-9E8C-4AF6-A8B0-A24F36CA2F53\",\n \"includeTransactions\": false,\n \"limit\": 50,\n \"offset\": 0\n}")
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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.get("https://sandbox.rollfi.xyz/reports/getPayPeriodDetails")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"method\": \"getPayPeriodDetails\",\n \"payPeriodId\": \"7BF6D637-9E8C-4AF6-A8B0-A24F36CA2F53\",\n \"includeTransactions\": false,\n \"limit\": 50,\n \"offset\": 0\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.rollfi.xyz/reports/getPayPeriodDetails")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"method\": \"getPayPeriodDetails\",\n \"payPeriodId\": \"7BF6D637-9E8C-4AF6-A8B0-A24F36CA2F53\",\n \"includeTransactions\": false,\n \"limit\": 50,\n \"offset\": 0\n}"
response = http.request(request)
puts response.read_body{
"pagination": {
"offset": 0,
"limit": 50,
"total": 1
},
"payPeriod": [
{
"payPeriodId": "7BF6D637-9E8C-4AF6-A8B0-A24F36CA2F53",
"payScheduleId": "56925A03-645D-4AC8-BBDF-6960A1DFF394",
"companyId": "3986B7F2-AC6E-4694-A2B1-970167A98216",
"payPeriod": "09/01/2026 - 09/15/2026",
"deadLineToRunPayroll": "2026-09-14",
"PayPeriodStatus": "processed",
"total": 2025,
"debitAmount": 2140,
"employeeTaxSum": 250,
"employerTaxSum": 115,
"isProcessed": true,
"payDate": "2026-09-18",
"payEndDate": "2026-09-15",
"payBeginDate": "2026-09-01",
"workerType": {
"workerType": "W2"
},
"payPeriodType": {
"payPeriodType": "Regular"
},
"payrollLineItems": [
{
"userId": "4DF5A79A-3735-4588-95A6-B80D15CB5A5E",
"userName": "Alex Morgan",
"baseTotal": 2000,
"numberOfLeaveDays": 0,
"lop": 0,
"retroAmount": 0,
"grossTotal": 2025,
"netTotal": 1775,
"payHours": 80,
"payRate": 25,
"standardWorkingHours": 8,
"differentialPay": true,
"isMiscellaneousStateTaxApplicable": false,
"employeeWages": [
{
"wageRate": 25,
"wageBasis": {
"wageBasis": "Hourly"
}
}
],
"paymentMethod": "Direct Deposit",
"employeeTax": {
"employeeTax": 250
},
"employeeTaxDetails": [
{
"taxName": "Federal Withholding Tax",
"taxAmount": 250,
"taxAmountYtd": 2250,
"isEmployerTax": false
}
],
"employerTaxDetails": [
{
"taxName": "Social Security",
"taxAmount": 115,
"taxAmountYtd": 1035,
"isEmployerTax": true
}
],
"taxAdjustments": [
{
"taxName": "Federal Withholding Tax",
"taxAmount": 10.5
}
],
"miscellaneousStateTaxes": [],
"overTimes": [],
"additionalCompensations": [],
"deductions": [],
"reimbursements": [],
"garnishments": [],
"timeOffs": [],
"payDetails": [
{
"payPercentage": 100,
"amount": 1775,
"employeePayAccount": {
"accountName": "Primary Checking"
},
"paymentMethod": "Direct Deposit"
}
],
"basePay": [
{
"payCode": "REG",
"payHours": 80,
"payRate": 25,
"multiplier": 1,
"amount": 2000
},
{
"payCode": "SHIFT",
"payHours": 2.5,
"payRate": 10,
"multiplier": 1,
"amount": 25
}
]
}
]
}
]
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Body
getPayPeriodDetails "getPayPeriodDetails"
ID of the pay period to retrieve.
Optional company ID. Resolved from payPeriodId when omitted.
Include company debit and employee credit transaction details. Transaction fields are omitted when false.
Maximum number of payroll line items to return. Use a positive value for a bounded page; omit for no page-size limit.
x >= 0Number of payroll line items to skip. Supplying limit or offset adds root-level pagination metadata.
x >= 0Response
Pay period details. Pagination and transaction fields are included only when requested.
Show child attributes
Show child attributes
Present when limit or offset is supplied. total counts payroll line items for the pay period, not just the returned page.
Show child attributes
Show child attributes
Company debit and credit transactions for the pay period. Present at the response root only when includeTransactions is true.
Show child attributes
Show child attributes
