Guide to the Worker Direct Deposit API

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.

EndpointWhat it does
Get a worker's bank accountsReturns the default account and any bank account splits
Update default bank accountDeprecated. Replaces the default account.
Create or update a bank account splitSets up split 1 or split 2
Delete a bank account splitRemoves 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, accountNumber is optional: leave it out to keep the stored number.
  • routingNumber must be exactly 9 digits, and accountNumber digits only.
  • percentPerPayment must 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.