Overview
Bulk Payments let you create many payments in a single API request (POST /payments/bulk).
Each item in the request is a normal payment creation payload — ACH, Book, and Wire can be mixed in the same bulk.
Why use Bulk Payments
Sending thousands of individual payment creates means you must manage batching, retries, and rate limiting yourself.
Bulk Payments shifts that to Unit: you submit one request, and we execute it reliably — with similar overall processing time to creating the payments one by one.
Use it for high-volume runs such as payroll or disbursements.
How it works
- You submit one request with an array of payment creation objects.
- The immediate response is a
bulkIdgenerated by Unit — creation is asynchronous. - Unit processes each item. When processing finishes, Unit sends a
bulkPayments.finishedwebhook. Individual item failures emitbulkPayments.failed.
It is highly recommended to attach an idempotency key to each payment in the bulk so creations are not duplicated.
If you do not supply one, Unit generates a key as the bulkId and indexInBulk combination.
Bulk Payments vs Batch Payments
| Bulk Payments | Batch Payments | |
|---|---|---|
| Purpose | Create many outgoing ACH, Book, or Wire payments in one API call | Receive funds into a batch (organization) account, then release them across customer accounts |
| Account | Deposit account | Batch account |
| Direction | You originate payments | You split an incoming settlement |