The Worker Direct Deposit API lets you read and manage the bank accounts a worker's pay is deposited to. A worker can have up to three accounts: a default account and up to two bank account splits.
| Endpoint | What it does |
|---|---|
| Get a worker's bank accounts | Returns the default account and any bank account splits |
| Update default bank account | Deprecated. Replaces the default account. |
| Create or update a bank account split | Sets up split 1 or split 2 |
| Delete a bank account split | Removes a bank account split |
Default account and bank account splits
The default account receives whatever is left of each payment after the bank account splits are paid. It's a 100% catch-all, so it has no amount or splitNumber. You can't delete it. The Update default bank account endpoint is deprecated. Use Get a worker's bank accounts and Create or update a bank account split instead.
A bank account split sends a whole-number percentage of each payment (percentPerPayment, 1 to 100) to another account. Percentages don't need to add up to 100: the default account always absorbs the remainder, even when every other account is a percentage-based bank account split. Bank account splits are numbered 1 and 2, and a worker can't have more than two.
The worker must already have a default account before you can add bank account splits.
Creating, updating and deleting bank account splits
- Create bank account splits in order. You can't create split 2 until split 1 exists.
- Send the full account number when creating a bank account split. Responses only ever include the last four digits (
accountNumberLast4). When updating an existing bank account split,accountNumberis optional: leave it out to keep the stored number. routingNumbermust be exactly 9 digits, andaccountNumberdigits only.percentPerPaymentmust be a whole number from 1 to 100. It can be sent as a string or a number, and is always returned as a string.- Duplicate accounts are rejected. You can't add an account that matches one the worker already has.
- Deleting a bank account split renumbers the rest. If a worker has splits 1 and 2 and you delete split 1, the account that was split 2 becomes split 1.
Fixed dollar amounts on existing bank account splits
This API only accepts percentages. However, a bank account split that was set up with a fixed dollar amount outside this API, such as in the Everee app, still exists. When you read one of those bank account splits, the response includes monthlyDollarAmount instead of percentPerPayment:
{
"displayName": "Savings",
"bankName": "MACU",
"accountNumberLast4": "4321",
"routingNumber": "324079555",
"accountType": "SAVINGS",
"monthlyDollarAmount": { "amount": "100.00", "currency": "USD" },
"depositsAllowed": true,
"splitNumber": 1
}If you update that bank account split through this API, it's converted to a percentage-based bank account split.
Deposits blocked
depositsAllowed is false when deposits to an account are blocked. Updating the account's details through this API doesn't change that flag.