Centsless processes tips with FLSA compliance built in — ceiling rounding always favors employees, so no tip amount is ever rounded down. Tip pools support equal, weighted, and hours-based distribution, and the wage theft detection endpoint surfaces patterns that may indicate unauthorized deductions or below-minimum-wage violations.
Recording a cash tip
Use POST /tip/cash to record a cash tip against a completed transaction.
Required fields: transaction_id, employee_id, employee_name, tip_amount (in dollars).
curl -X POST https://api.centsless.org/api/v1/tip/cash \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"transaction_id": "TXN-2026-04-14-A82C2EAA",
"employee_id": "EMP-001",
"employee_name": "Test Cashier",
"tip_amount": 3.50
}'
Cash tip rounding uses FLSA-compliant ceiling rounding — fractional cents always round up, never down, in favor of the employee.
Recording a credit card tip
Use POST /tip/credit-card with the same fields as a cash tip. The endpoint creates an audit trail for the credit card tip.
curl -X POST https://api.centsless.org/api/v1/tip/credit-card \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"transaction_id": "TXN-2026-04-14-A82C2EAA",
"employee_id": "EMP-001",
"employee_name": "Test Cashier",
"tip_amount": 3.50
}'
Creating and distributing a tip pool
Tip pools let you aggregate tips across multiple employees and distribute them using a defined method. The flow is two steps: create the pool, then distribute it.
Step 1 — Create the pool with POST /tip/pool/create:
Required fields: pool_name, tip_ids (array of tip IDs to include), distribution_method (equal, weighted, or hours_based), and participants (array of employee objects with employeeId and employeeName).
curl -X POST https://api.centsless.org/api/v1/tip/pool/create \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"pool_name": "Sunday Lunch Pool",
"tip_ids": ["TIP-001", "TIP-002", "TIP-003"],
"distribution_method": "equal",
"participants": [
{ "employeeId": "EMP-001", "employeeName": "Test Cashier" },
{ "employeeId": "EMP-002", "employeeName": "Jane Server" }
]
}'
Step 2 — Distribute the pool with POST /tip/pool/distribute. Pass the pool_id returned from the create step:
curl -X POST https://api.centsless.org/api/v1/tip/pool/distribute \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"pool_id": "POOL-001"
}'
Processing an employee payout
Use POST /tip/payout to process a tip payout to an employee.
Required fields: employee_id, employee_name, payout_amount, payout_method (cash, check, or direct_deposit).
curl -X POST https://api.centsless.org/api/v1/tip/payout \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"employee_id": "EMP-001",
"employee_name": "Test Cashier",
"payout_amount": 47.50,
"payout_method": "cash"
}'
Validating tip credit compliance
Use POST /tip/validate-compliance to check whether a merchant’s tipping practices comply with state-specific tip credit regulations and FLSA requirements.
Required fields: state, hourly_wage (dollars), average_tips_per_hour (dollars).
curl -X POST https://api.centsless.org/api/v1/tip/validate-compliance \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"state": "IN",
"hourly_wage": 7.25,
"average_tips_per_hour": 3.50
}'
The response indicates whether the combination of hourly wage and tip income satisfies the applicable state and federal minimum wage requirements.
Wage theft detection
Use GET /analytics/tip-wage-theft to analyze tip patterns across your merchants for potential wage theft indicators. The endpoint surfaces patterns including:
- Tip skimming — tips recorded but not disbursed to employees
- Unauthorized deductions — amounts withheld from tip totals without a valid reason
- Below-minimum-wage violations — hourly compensation falling below state or federal minimums after accounting for tips
curl https://api.centsless.org/api/v1/analytics/tip-wage-theft \
-H "x-api-key: YOUR_API_KEY"