Prerequisites
API key from Dashboard
Get your API key from the Cadana Dashboard. See Authentication for details.
Onboarded workers
Workers must be onboarded as Persons — you’ll use their
personId to configure settings and view transactions. See Onboard Workers.Configure Per-Person Access
By default, workers inherit the business-levelaccessPercentage. Use the per-person setting to override this for individual workers — for example, to grant a higher limit to a long-tenured employee or restrict access for a new hire.
Update a Person’s Setting
Set the percentage of earned wages a person can access via instant pay. The value must be between 0 and 100. Returns204 on success.
Get a Person’s Setting
Response:Business-Level Settings
When Instant Pay is enabled, the business object includes aninstantPaySettings field with the defaults configured by your Cadana account manager. These are visible via GET /v1/businesses/{businessId} but can only be changed by Cadana.
| Field | Type | Description |
|---|---|---|
accessPercentage | integer | Default percentage of earned wages workers can access (0–100) |
numDaysBeforePayroll | integer | Number of days before the payroll date when instant pay becomes unavailable |
requiresApproval | boolean | Whether instant pay requests require business approval before disbursement |
contractorAccess | boolean | Whether contractors (in addition to employees) can use instant pay |
Per-person settings (via
PUT /v1/persons/{personId}/ipSetting) override the business-level accessPercentage for that individual worker.Track Transactions
Retrieve instant pay transactions for a specific person. Each transaction represents a single instant pay withdrawal. Response:Filter by Unpaid
Use theisUnpaid query parameter to only return transactions that haven’t been reconciled against a payroll yet.
Transaction Statuses
| Status | Meaning |
|---|---|
completed | Funds have been disbursed to the worker |
processing | Withdrawal is in progress |
failed | Withdrawal failed — the worker can retry |
Amounts are in the lowest denomination of the currency. For USD,
50000 = $500.00.Webhook Event
instant-pay.succeeded
Fires when an instant pay withdrawal is successfully disbursed to a worker. Subscribe via the Dashboard or see Webhooks for setup.JSON
Next Steps
Onboard Workers
Create Person records before configuring instant pay
Pay Workers via Payroll
Run payroll to reconcile instant pay advances
Webhooks
Set up real-time notifications for instant pay events
Events
Full list of webhook event types and payloads