The following tables summarize ACH endpoints in the Galileo system. Endpoints are grouped by outgoing ACH and incoming ACH. See the sections below for information on how to use each endpoint.

### Outgoing ACH endpoints

Use endpoints in this table to create and view outgoing ACH transactions that originate at Galileo.

Note

[Add](🔗), [modify](🔗), and [remove ACH account](🔗) do not trigger an event. Please refer to the API response to confirm the outcome of your request to these endpoints.

Use caseEndpoint
Add an ACH account to associate your customer’s account with an external account. Use this endpoint when the external account belongs to an individual. You must create an ACH account to send an outgoing ACH transaction.<a href="ref:post_addachaccount" target="_blank">Add ACH Account</a>
Add an ACH account that belongs to a corporate entity.<a href="ref:post_addachaccountcorporate" target="_blank">Add ACH Account Corporate</a>
Get a record of ACH accounts that are associated with your customer’s account.<a href="ref:post_getachaccounts" target="_blank">Get ACH Accounts</a>
Update account information for an existing ACH account.<a href="ref:post_modifyachaccount" target="_blank">Modify ACH Account</a>
Remove an ACH account from a customer account.<a href="ref:post_removeachaccount" target="_blank">Remove ACH Account</a>
Send an outgoing ACH transaction from your customer’s account to an external account.<a href="ref:post_createachtransaction" target="_blank">Create ACH Transaction</a>
Cancel a transaction that you created with the Create ACH Transaction endpoint.<a href="ref:post_cancelachtransaction" target="_blank">Cancel ACH Transaction</a>
Get a record of all ACH transactions created via the Create ACH Transaction History endpoint.<a href="ref:post_getachtranshistory" target="_blank">Get ACH Transaction History</a>

### Incoming ACH endpoints

Use endpoints in this table to view and modify incoming ACH transactions from an external originator.

Use caseEndpoint
Get the ACH deposit history either for an entire program or for a single customer account. Use for incoming ACH credit.<a href="ref:post_getdeposithistory" target="_blank">Get Deposit History</a>
Retrieve a list of incoming ACH credit requests where the funds are not yet available to your customer.<a href="ref:post_getpendingdeposits" target="_blank">Get Pending Deposits</a>
Either post or return a pending incoming ACH credit.<a href="ref:post_modifypendingdepositstatus" target="_blank">Modify Pending Deposit Status</a>

## Adding an ACH account

There are two types of external accounts that can be added as ACH accounts: personal and corporate. A personal account belongs to a natural individual, and a corporate account belongs to a business entity. To add each type of account use these endpoints:

  • <a href="ref:post_addachaccount" target="_blank">Add ACH Account</a> — Add a personal account

  • <a href="ref:post_addachaccountcorporate" target="_blank">Add ACH Account Corporate</a> — Add a business account

By using these endpoints, you set up ACH transactions where the originator is your customer’s account in the Galileo system and the receiver is the external account. Each ACH account stores the information for only one external account. You will need to add a new ACH account for each external receiver account.

When you add an ACH account, you provide the external bank account and routing numbers to make direct ACH transfers with the external account. Alternatively, you can use Plaid integration to get external account information. See <a href="doc:ach-at-galileo#plaid-integration" target="_blank">Plaid integration</a> for more information.

The Add ACH Account and Add ACH Account Corporate endpoints return an `ach_account_id` that you will pass through the <a href="ref:post_createachtransaction" target="_blank">Create ACH Transaction</a> endpoint when your customer originates an ACH transaction with the external account.

Note

A customer can have multiple ACH accounts that use the same account and routing numbers as long as each duplicate ACH account is linked to a different account type. For example, you can add separate ACH accounts to a checking account PRN and savings account PRN that each link to the same external account.

You can also call Add ACH Account multiple times for the same PRN, as long as the external account numbers are different.

### Add ACH Account

This table describes parameters that are specific to the <a href="ref:post_addachaccount" target="_blank">Add ACH Account</a> endpoint.

ParameterDescription
`accountNo`Account number for the account associated with this ACH account. This can be a primary or secondary account.
`achAccountNo`Bank account number identifying the external account for ACH transactions. Required unless Plaid integration is used.
`achRoutingNo`Bank routing number identifying the external bank for ACH transactions. Required unless Plaid integration is used.
`processorToken`Token provided by Plaid for Galileo + Plaid integration. Replaces the `achAccountNo` and `achRoutingNo`. See <a href="doc:ach-at-galileo#plaid-integration" target="_blank">Plaid integration</a> for more information.
`name`Description of the account, such as "Wells Fargo Checking".
`firstName`First name of the external account owner. This is a display name.
`fileFirstName`First name to include in the outgoing <<glossary:Nacha file>> instead of `firstName`.
`lastName`Last name of the external account owner. This is a display name.
`fileLastName`Last name to include in the outgoing Nacha file instead of `lastName`.

### Add ACH Account Corporate

This table describes parameters that are specific to the <a href="ref:post_addachaccountcorporate" target="_blank">Add ACH Account Corporate</a> endpoint.

ParameterDescription
`accountNo`Account number for the account associated with this ACH account. This can be a primary or secondary account.
`achAccountNo`Bank account number identifying the external account for ACH transactions. Required unless Plaid integration is used.
`achRoutingNo`Bank routing number identifying the external bank for ACH transactions. Required unless Plaid integration is used.
`processorToken`Token provided by Plaid for Galileo + Plaid integration. Replaces the `achAccountNo` and `achRoutingNo`. See <a href="doc:ach-at-galileo#plaid-integration" target="_blank">Plaid integration</a> for more information.
`name`Description of the account, such as "Citibank Saving".
`companyName`Name of the company that holds the external account. This is a display name.
`fileCompanyName`Company name to include in the outgoing <<glossary:Nacha file>> instead of `companyName`.

## Viewing ACH accounts

Use the <a href="ref:post_getachaccount" target="_blank">Get ACH Account</a> endpoint to retrieve ACH account information. Pass the customer's PRN for `accountNo`, which you used in the <a href="ref:post_addachaccount" target="_blank">Add ACH Account</a> or <a href="ref:post_addachaccountcorporate" target="_blank">Add ACH Account Corporate</a> endpoint, to this endpoint. Do not pass an `ach_account_id` for `accountNo`.

If there are multiple ACH accounts linked to the `accountNo`, the Get ACH Account endpoint returns information for each ACH account. The `found` field in the response data indicates the number of ACH accounts that are linked to the `accountNo`.

## Modifying ACH accounts

Use the <a href="ref:post_modifyachaccount" target="_blank">Modify ACH Account</a> endpoint to update ACH account information. When using Modify ACH Account, you must specify the `entityType` of the account to modify:

  • `C` — Corporate ACH account. The account was created using Add ACH Account Corporate.

  • `I` — Individual ACH account. The account was created using Add ACH Account.

Depending on the value of `entityType`, other fields are also required:

  • `entityType: C``companyName` is required

  • `entityType: I``firstName` and `lastName` are required

## Removing an ACH account

Use the <a href="ref:post_removeachaccount" target="_blank">Remove ACH Account</a> endpoint to remove an ACH account. ACH account records cannot actually be deleted from the Galileo system, but a removed account is deactivated so that it can no longer be used for ACH transactions. A removed ACH account is set to `status: D` (deleted).

This table describes parameters that are specific to the Remove ACH Account endpoint.

ParameterDescription
`accountNo`Account number for the account associated with the ACH account.
`achAccountNo`Account number for the ACH account to be removed.

## Creating an ACH transaction

Use the <a href="ref:post_createachtransaction" target="_blank">Create ACH Transaction</a> endpoint to originate an outgoing ACH transaction where the originator is your customer in the Galileo system and the receiver is the holder of an external account.

This table describes parameters that are specific to the Create ACH Transaction endpoint.

ParameterDescription
`accountNo`Account number for the account associated with this ACH account.
`achAccountId`The `ach_account_id` as returned by the <a href="ref:post_addachaccount" target="_blank">Add ACH Account</a> or <a href="ref:post_addachaccountcorporate" target="_blank">Add ACH Account Corporate</a> endpoint.
`amount`The amount to credit or debit the receiver’s account. Do not use a plus or minus sign. Instead, use the `debitCreditIndicator` field to indicate the direction of funds.
`sameDay`Set to `Y` to post a same-day ACH credit request. See [Same-day ACH](🔗) for more information.
`description`A description for the transaction. This description is not passed in the Nacha file, but you can see it in the CST or have it added to the RDFs and event messages.
`debitCreditIndicator`Indicates whether the transaction will credit or debit the receiver’s account. Values are:<li>`C` — Credit<li>`D` — Debit
`identNumber`Provider-supplied identifier, external to the Galileo system. This value is only required for the consumer initiated entries, [SEC codes](🔗) CIE (consumer to business accounts) and WEB (consumer to consumer account).

## Viewing ACH transactions

There are several endpoints for viewing posted and pending ACH transactions. When you view transactions for a specific account, the `accountNo` that you pass to the endpoint should be associated with at least one ACH account created with the <a href="ref:post_addachaccount" target="_blank">Add ACH Account</a> or <a href="ref:post_addachaccountcorporate" target="_blank">Add ACH Account Corporate</a> endpoint. If there are multiple ACH accounts linked to the `accountNo`, Galileo returns transaction information for each ACH account.

This table describes endpoints for viewing ACH transactions.

EndpointDescription
<a href="ref:post_getachtranshistory" target="_blank">Get ACH Transaction History</a>Returns the entire ACH transaction history for a customer account, including pending and posted transactions.
<a href="ref:post_getdeposithistory" target="_blank">Get Deposit History</a>Returns records for incoming ACH credit requests, either for an entire program or for a specific customer. Leave the `accountNo` empty to return the program history.
<a href="ref:post_getpendingdeposits" target="_blank">Get Pending Deposits</a>Returns records for incoming ACH credit requests that have not been posted to the receiver’s account.

## Canceling an ACH transaction

Use the <a href="ref:post_cancelachtransaction">Cancel ACH Transaction</a> endpoint to cancel an outgoing ACH transaction originated by your customer in the Galileo system. You cannot cancel an ACH transaction in this manner after Galileo processes the transaction and adds it to a Nacha file. If you need to stop a transaction after Galileo generates the Nacha file, you must initiate an ACH return. See [ACH returns](🔗) for more information.

The cutoff time to cancel an ACH transaction varies from client to client. You can contact Galileo to get the approximate time the Nacha file is generated for your core.

When an ACH transaction is successfully canceled, any funds debited from your customer’s account are returned and a `BADJ: adj` event is generated.

This table describes parameters that are specific to the Cancel ACH Transaction endpoint.

ParameterDescription
`accountNo`The `accountNo` that is linked to the ACH account used for the transaction.
`transactionId`The `transactionId` of the endpoint request to be reversed.
`achTransactionId`The `ach_transaction_id` returned by the <a href="ref:post_createachtransaction" target="_blank">Create ACH Transaction</a> endpoint.

## Modifying a pending ACH deposit status

A pending ACH deposit is an incoming ACH credit that has not been posted to the customer’s account. You can use the <a href="ref:post_modifypendingdepositstatus" target="_blank">Modify Pending Deposit Status</a> endpoint to either post or return a pending ACH direct deposit before it is posted to the account. In most cases you will modify pending ACH direct deposits that are flagged for review (`status: i`).

This table describes parameters that are specific to the Modify Pending Deposit Status endpoint.

ParameterDescription
`accountNo`Destination account number for the pending direct deposit.
`depositTransactionId`The `ach_trans_id` for the deposit returned by the <a href="ref:post_getpendingdepositstatus" target="_blank">Get Pending Deposits</a> endpoint.
`actionType`Indicates whether to post or return the pending ACH deposit. Values are:<li>`P` — Post<li>`R` — Return
`categoryCode`Category to assign to the deposit. Values are:<li>`COF` — Questionable IAT country<li>`FBE` — Federal benefit<li>`HRK` — High risk deposit<li>`LRG` — Large transfer amount<li>`NAM` — Unverified name<li>`NFC` — NFCU<li>`PAY` — Payday loan<li>`TAX` — Tax
`categoryType`Indicates the decision for future ACH deposits that match the program settings for the current deposit. Values are:<li>`A` — Approve matching transactions.<li>`D` — Decline matching transactions.<li>`W` — Watch matching transactions and send for manual review.
`retCode`Reason for returning the deposit. This parameter is **required** when `actionType: R`. See <a href="doc:api-reference-modify-pending-deposit-status-return-codes" target="_blank">Return Codes</a> for valid values.