Prerequisites
Before you send, check these:- Origination is configured at onboarding. Lead sets up your ACH originator identity (company name and company ID) on your program. You don’t pass originator details on requests.
- Your token needs the
ach/read_writescope. - The sending account number must be
active, and its outgoing ACH controls must permit the counterparty. By default all counterparties are permitted. - The sending account number can’t be one Lead holds. Every rail returns an error for those.
Endpoints
You can use these endpoints:Request requirements
The create request takes these fields:
Optional fields include
individual_id, descriptive_date, additional_information, and metadata. See Create an ACH for the full schema and The ACH Object for every response field.
scheduled, with core_balance_id already set to the core balance the entry posts to and core_transaction_id still null.
Statuses
An outgoing entry that passes validation moves fromscheduled to processing, submitted, and posted. An entry that fails a validation rule goes to manual review. This table is an excerpt. ACH Statuses is the canonical reference, including the return chain.
See the outgoing transition diagram for the full lifecycle, including the return chain.
Events
Act on webhooks rather than assuming success from the200:
Canceling
POST /v2/ach/{ach_id}/cancel cancels an entry that is scheduled, under_review, or approved. After an entry is processing, it can’t be canceled. The call requires an Idempotency-Key.
Reversing
POST /v2/ach/{ach_id}/reverse creates a new outgoing entry in the opposite direction for the same amount. The body takes reason, one of duplicate, receiver_incorrect, amount_incorrect, debit_too_early, or credit_too_late. Both entries carry a reversal block linking them. See Returns, reversals, and exceptions.
Testing in sandbox
Outgoing ACH doesn’t advance on its own in sandbox: entries stay inscheduled until you advance them one status at a time with POST /v2/simulate/ach/{ach_id}/advance, naming the next status in the body. See Sandbox testing.

