Use the /createAchTransfer endpoint to originate an ACH transaction to move funds between a customer account and external bank account linked via Create ACH Account. The originator of this transaction is your customer/bank and the recipient is the holder of the external account.
If the associated ACH account was created via a linkedInstitutionAccountId, balance checks are automatically performed to ensure sufficient funds for ACH pulls (contingent on your product's configuration).
The ACH transfer created via this endpoint can either be a push (credit) or pull (debit) to the recipient account.
The optional companyEntryDescription field is accepted for all ACH transfers and identifies the ACH purpose shown on the receiver's bank statement. ACH originations require either a request value or a product-level default configured with Spidr; requests with neither are rejected.
For business-to-consumer debits (a business customer pulling funds from an external individual account), your program may require authorizationMethod. Provide it unless your product has a configured default:
online_or_mobile: authorization obtained through a website or mobile app; produces SEC code WEB. Your product must explicitly permit this method.written_or_prearranged: authorization obtained through a signed document, agreement, or standing authorization; produces SEC code PPD.
A supplied method overrides the product default and must be permitted by your product. Without product configuration, only written_or_prearranged is permitted and there is no default. Where it is required, missing both a request value and a product default, or selecting a disallowed method, returns HTTP 400. Null, empty, and unsupported values are rejected for all requests. Valid methods are ignored on other transfer types and on programs that don't use this field.
For a transfer awaiting approval, the resolved method is retained from submission even if the product default changes. If the product no longer permits that method at execution, the transfer is rejected without substituting another method.
To view a list of ACH transfers originated by an account, use the List ACH Requests endpoint. To cancel an ACH transfer, use the Cancel ACH Transfer endpoint. For more information on ACH accounts and transactions, please see ACH Accounts and Transactions.
