Create ACH Transaction

Use the Create ACH Transaction endpoint to originate an ACH transaction to move funds between a customer account (accountNo) and an existing ACH bank account (achAccountId). Use the Add ACH Account endpoint to add an ACH bank account.

For more information on this endpoint see Creating an ACH transaction in the ACH Endpoints guide.

Status codes

See Global Response Statuses for status codes that are common across endpoints.

The table below lists status codes that apply to this specific endpoint.

Status codeDescription
429-01ACH account not found
429-02Insufficient balance. The Galileo account does not have enough funds for the outgoing credit.
429-03Limit violation
429-04Insufficient funds for debit transaction. Plaid or Mastercard Finicity integration only: The remote account does not have sufficient funds for the outgoing debit.
429-05Plaid or Mastercard Finicity returned an error. Find the error in the status field and handle with Plaid or Mastercard Finicity accordingly.
429-06Failure occurred while processing debit transaction
429-06Failure occurred while processing credit transaction
429-09Previous attempt found in process. Did not process current request. Do not retry.
429-11Invalid ACH account
Form Data
string
required

Web service username, as provided by Galileo.
Pattern: Max 50 characters
Example: "AbC123-9999"

string
required

Web service password, as provided by Galileo.
Pattern: Max 15 characters
Example: "4sb62fh6w4h7w34g"

int32
required

Galileo-issued provider identifier.
Pattern: Max 10 digits
Example: 9999

string
required
1 to 60

A unique provider-generated ID to identify this API call. A UUID is preferred.
Pattern: 60 characters or less
Example: "9845dk-39fdk3fj3-4483483478"

string
required

The PRN or PAN of the account.
Pattern: PAN or PRN
Example: "074103447228"

int32
required
≥ 1

ACH account identifier (ach_account_id), as returned by Add ACH Account or Get ACH Accounts.
Pattern: Integer
Example: 354656

float
required
≥ 0.01

Currency amount as a whole or decimal amount.
Pattern: Positive integer or float
Example: 100.00, 100, or 100.73

string | null

Description for the ACH transaction.
Pattern: 1–30 supported characters
Example: "One-time payroll load."

string | null

Description for the remittance. This string populates the Payment Related Information field of the ACH Addenda Record in the outgoing Nacha file.
Pattern: 1–80 supported characters
Example: "Payoff 2500 transfer initiated and verified to Acct 12345678."

string
enum
required

Specifies whether to credit (C) or debit (D) the recipient account.
Pattern: String
Example: "D"

Allowed:
string | null
enum

The authorization method to use:

  • online_or_mobile — Web site or mobile app
  • written_or_prearranged — Signed document, agreement, or standing auth
  • other — Not digital/web/mobile or prearranged

For B2C debit transactions this endpoint defaults to authorizationMethod: other (SEC Code: PPD) unless specified otherwise by the client with a valid value. For B2C credit transactions, authorizationMethod will always be set to other regardless of the authorizationMethod passed in. For all non-B2C transactions, authorizationMethod is ignored and set to None.

Pattern: 1–40 characters
Example: "online_or_mobile"

Allowed:
string | null

Describes the purpose of the ACH transaction. Possible values:

  • PAYROLL — Compensation-related payments for employees or contractors, including wages and salaries. Required only for the PPD SEC code.
  • PURCHASE — E-commerce-related debit transactions initiated by the cardholder. Required for WEB SEC code, except as permitted by the rule on Standing Authorization to use the TEL SEC code.
  • Free-text.

See list of restricted values and use cases.

Pattern: Max 10 characters
Example:PAYROLL

string | null
enum

Specifies whether this is a same-day transaction.
Pattern: String
Example: "Y"

Allowed:
string | null

Provider-supplied identifier, external to the Galileo system. This value is required only for the CIE and WEB SEC codes.
Pattern: 1–15 characters
Example: "999456789"

string | null

Obtained from Plaid when using Plaid integration. Checks the balance of the ACH account to verify that there are sufficient funds for an ACH debit.
Pattern: String
Example: "processor-production-35cd43b-adfc-d8aa-b331-c9ba0fdha881"

string | null
enum

Controls whether Galileo performs a real-time balance check on an ACH account linked via Mastercard Finicity. By default, this check confirms that there are sufficient funds in the recipient account before initiating an ACH debit. To bypass balance checks, set to N.
Pattern: String
Example: "N"

Allowed:
int32 | null
≥ 0

The number of hold days to apply to this transaction, which overrides the hold days in product settings. This value applies only to outgoing ACH debits (debitCreditIndicator: D). This parameter is available only to clients who have obtained bank approval to use it. The ACOHD parameter must be set to use this parameter.
Pattern: Integer
Example: 2

Headers
string
enum
Defaults to json

Use this header instead of the standard accept header to specify the response format.

Allowed:
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Response

Language
URL
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
application/xml

© Galileo Financial Technologies, LLC 2026    Privacy Disclosure

All documentation, including but not limited to text, graphics, images, and any other content, are the exclusive property of Galileo Financial Technologies, LLC and are protected by copyright laws. These materials may not be reproduced, distributed, transmitted, displayed, or otherwise used without the prior written permission of Galileo Financial Technologies, LLC. Any unauthorized use or reproduction of these materials are expressly prohibited.