ACH Transfers — Increase
Docs
Guides API Reference Changelog Search
ACH Transfers
Guides\ \ Explanatory and how-to content API Reference\ \ Technical documentation Changelog\ \ Release notes Dashboard\ \ Manage your account Status\ \ Service status
API Reference
Overview
Overview Authorization and Testing OpenAPI SDKs OAuth Requests and Responses Object Lists Errors Idempotency Sandbox Simulations
Accounts
Overview The Account object List Accounts Create an Account Retrieve an Account Update an Account Retrieve an Account Balance Close an Account Sandbox: Create an account revenue payment Sandbox: Create an interest payment
Overview The Account Number object List Account Numbers Create an Account Number Retrieve an Account Number Update an Account Number
Overview The Account Transfer object List Account Transfers Create an Account Transfer Retrieve an Account Transfer Approve an Account Transfer Cancel an Account Transfer
Transactions
Overview The Transaction object List Transactions Retrieve a Transaction
Overview The Pending Transaction object List Pending Transactions Create a Pending Transaction Retrieve a Pending Transaction Release a user-initiated Pending Transaction Sandbox: Release an Inbound Funds Hold
Overview The Declined Transaction object List Declined Transactions Retrieve a Declined Transaction
Ach Transfers
Overview The ACH Transfer object List ACH Transfers Create an ACH Transfer Retrieve an ACH Transfer Approve an ACH Transfer Cancel a pending ACH Transfer Sandbox: Acknowledge an ACH Transfer Sandbox: Create a Notification of Change for an ACH Transfer Sandbox: Return an ACH Transfer Sandbox: Settle an ACH Transfer Sandbox: Submit an ACH Transfer
Overview The Inbound ACH Transfer object List Inbound ACH Transfers Retrieve an Inbound ACH Transfer Create a notification of change for an Inbound ACH Transfer Decline an Inbound ACH Transfer Return an Inbound ACH Transfer Sandbox: Create an Inbound ACH Transfer
Overview The ACH Prenotification object List ACH Prenotifications Create an ACH Prenotification Retrieve an ACH Prenotification
Check Transfers
Overview The Check Transfer object List Check Transfers Create a Check Transfer Retrieve a Check Transfer Approve a Check Transfer Cancel a pending Check Transfer Stop payment on a Check Transfer Sandbox: Mail a Check Transfer
Overview The Inbound Check Deposit object List Inbound Check Deposits Retrieve an Inbound Check Deposit Decline an Inbound Check Deposit Return an Inbound Check Deposit Sandbox: Create an Inbound Check Deposit Sandbox: Accept an Inbound Check Deposit Sandbox: Create an Inbound Check Deposit Adjustment
Overview The Physical Check Batch object Create a Physical Check Batch Cancel a Physical Check Batch Complete a Physical Check Batch
Real Time Payments Transfers
Overview The Real-Time Payments Transfer object List Real-Time Payments Transfers Create a Real-Time Payments Transfer Retrieve a Real-Time Payments Transfer Approve a Real-Time Payments Transfer Cancel a pending Real-Time Payments Transfer Sandbox: Complete a Real-Time Payments Transfer
Inbound Real-Time Payments Transfers
Overview The Inbound Real-Time Payments Transfer object List Inbound Real-Time Payments Transfers Retrieve an Inbound Real-Time Payments Transfer Sandbox: Create an Inbound Real-Time Payments Transfer
Real-Time Payments Requests for Payment
Overview The Real-Time Payments Request for Payment object List Real-Time Payments Requests for Payment Create a Real-Time Payments Request for Payment Retrieve a Real-Time Payments Request for Payment
Inbound Real-Time Payments Requests for Payment
Overview The Inbound Real-Time Payments Request for Payment object List Inbound Real-Time Payments Requests for Payment Retrieve an Inbound Real-Time Payments Request for Payment
Fednow Transfers
Overview The FedNow Transfer object List FedNow Transfers Create a FedNow Transfer Retrieve a FedNow Transfer Approve a FedNow Transfer Cancel a pending FedNow Transfer Sandbox: Complete a FedNow Transfer
Overview The Inbound FedNow Transfer object List Inbound FedNow Transfers Retrieve an Inbound FedNow Transfer Sandbox: Create an Inbound FedNow Transfer
Swift Transfers
Overview The Swift Transfer object List Swift Transfers Create a Swift Transfer Retrieve a Swift Transfer Approve a Swift Transfer Cancel a pending Swift Transfer
Wire Transfers
Overview The Wire Transfer object List Wire Transfers Create a Wire Transfer Retrieve a Wire Transfer Approve a Wire Transfer Cancel a pending Wire Transfer Sandbox: Reverse a Wire Transfer Sandbox: Submit a Wire Transfer
Overview The Inbound Wire Transfer object List Inbound Wire Transfers Retrieve an Inbound Wire Transfer Reverse an Inbound Wire Transfer Sandbox: Create an Inbound Wire Transfer
Overview The Wire Drawdown Request object List Wire Drawdown Requests Create a Wire Drawdown Request Retrieve a Wire Drawdown Request Sandbox: Refuse a Wire Drawdown Request Sandbox: Submit a Wire Drawdown Request
Inbound Wire Drawdown Requests
Overview The Inbound Wire Drawdown Request object List Inbound Wire Drawdown Requests Retrieve an Inbound Wire Drawdown Request Sandbox: Create an Inbound Wire Drawdown request
Card Transfers
Overview The Card Token object List Card Tokens Retrieve a Card Token Retrieve the capabilities of a Card Token Sandbox: Create a Card Token
Overview The Card Push Transfer object List Card Push Transfers Create a Card Push Transfer Retrieve a Card Push Transfer Approve a Card Push Transfer Cancel a pending Card Push Transfer
Overview The Card Validation object List Card Validations Create a Card Validation Retrieve a Card Validation
Check Deposits
Overview The Check Deposit object List Check Deposits Create a Check Deposit Retrieve a Check Deposit Sandbox: Adjust a Check Deposit Sandbox: Reject a Check Deposit Sandbox: Return a Check Deposit Sandbox: Submit a Check Deposit
Overview The Lockbox Address object List Lockbox Addresses Create a Lockbox Address Retrieve a Lockbox Address Update a Lockbox Address
Overview The Lockbox Recipient object List Lockbox Recipients Create a Lockbox Recipient Retrieve a Lockbox Recipient Update a Lockbox Recipient
Overview The Inbound Mail Item object List Inbound Mail Items Retrieve an Inbound Mail Item Action an Inbound Mail Item Sandbox: Create an Inbound Mail Item
Cards
Overview The Card object List Cards Create a Card Retrieve a Card Update a Card Create a Card details iframe Retrieve sensitive details for a Card Update a Card's PIN
Overview The Card Payment object List Card Payments Retrieve a Card Payment Sandbox: Create a Card Authentication attempt Sandbox: Create a Card Authentication Challenge attempt Sandbox: Create an initial Card Authentication Challenge Sandbox: Expire a Card Authorization Sandbox: Create a Card Authorization Sandbox: Create a Card Balance Inquiry Sandbox: Confirm the fuel pump amount for a Card Authorization Sandbox: Increment a Card Authorization Sandbox: Refund a card transaction Sandbox: Reverse a Card Authorization Sandbox: Settle a Card Authorization
Overview The Card Purchase Supplement object List Card Purchase Supplements Retrieve a Card Purchase Supplement Sandbox: Create a Card Purchase Supplement
Overview The Card Dispute object List Card Disputes Create a Card Dispute Retrieve a Card Dispute Submit a User Submission for a Card Dispute Withdraw a Card Dispute Sandbox: Advance the state of a Card Dispute
Overview The Physical Card object List Physical Cards Create a Physical Card Retrieve a Physical Card Update a Physical Card Sandbox: Advance the shipment status of a Physical Card Sandbox: Create a Physical Card Shipment Tracking Update
Overview The Digital Card Profile object List Card Profiles Create a Digital Card Profile Retrieve a Digital Card Profile Archive a Digital Card Profile Clones a Digital Card Profile
Overview The Physical Card Profile object List Physical Card Profiles Create a Physical Card Profile Retrieve a Card Profile Archive a Physical Card Profile Clone a Physical Card Profile
Overview The Digital Wallet Token object List Digital Wallet Tokens Retrieve a Digital Wallet Token Sandbox: Create a digital wallet token request
Compliance
Overview The Entity object List Entities Create an Entity Retrieve an Entity Update an Entity Archive an Entity Sandbox: Simulate validation of an Entity
Overview The Beneficial Owner object List Beneficial Owners Create a Beneficial Owner Retrieve a Beneficial Owner Update a Beneficial Owner Archive a Beneficial Owner
Overview The Supplemental Document object List Entity Supplemental Document Submissions Create a supplemental document for an Entity
Overview The Entity Onboarding Session object List Entity Onboarding Session Create an Entity Onboarding Session Retrieve an Entity Onboarding Session Expire an Entity Onboarding Session Sandbox: Submit an Entity Onboarding Session
Overview The Program object List Programs Retrieve a Program Sandbox: Create a Program
Events and Webhooks
Overview The Event object List Events Retrieve an Event
Overview The Event Subscription object List Event Subscriptions Create an Event Subscription Retrieve an Event Subscription Update an Event Subscription
Overview The Real-Time Decision object Retrieve a Real-Time Decision Action a Real-Time Decision
External Accounts
Overview The Routing Number object List Routing Numbers
Overview The External Account object List External Accounts Create an External Account Retrieve an External Account Update an External Account
Files and Exports
Overview The Account Statement object List Account Statements Retrieve an Account Statement Sandbox: Create an Account Statement
Overview The File object List Files Create a File Retrieve a File Get File Contents
Overview The File Link object Create a File Link
Overview The Export object List Exports Create an Export Retrieve an Export Sandbox: Generate a Tax Form Export
OAuth
Overview The Group object Retrieve Group details
Overview The OAuth Application object List OAuth Applications Retrieve an OAuth Application
Overview The OAuth Connection object List OAuth Connections Retrieve an OAuth Connection
Overview The OAuth Token object Create an OAuth Token
Intrafi
Overview The IntraFi Account Enrollment object List IntraFi Account Enrollments Enroll an account in the IntraFi deposit sweep network Get an IntraFi Account Enrollment Unenroll an account from IntraFi
Overview The IntraFi Balance object Get IntraFi balance
Overview The IntraFi Exclusion object List IntraFi Exclusions Create an IntraFi Exclusion Get an IntraFi Exclusion Archive an IntraFi Exclusion
ACH Transfers
Copy for LLM
ACH transfers move funds between your Increase account and any other account accessible by the Automated Clearing House (ACH).
Events
Your application can listen to webhooks about this resource. The events about ACH Transfers will have the categories "ach_transfer.created" or "ach_transfer.updated" .
The ACH Transfer object
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
{
"account_id": "account_in71c4amph0vgo2qllky",
"account_number": "987654321",
"acknowledgement": {
"acknowledged_at": "2020-01-31T23:59:59Z"
},
"addenda": null,
"amount": 100,
"approval": {
"approved_at": "2020-01-31T23:59:59Z",
"approved_by": null
},
"cancellation": null,
"company_descriptive_date": null,
"company_discretionary_data": null,
"company_entry_description": null,
"company_id": "1234987601",
"company_name": "National Phonograph Company",
"created_at": "2020-01-31T23:59:59Z",
"created_by": {
"category": "user",
"user": {
"email": "user@example.com"
}
},
"currency": "USD",
"destination_account_holder": "business",
"external_account_id": "external_account_ukk55lr923a3ac0pp7iv",
"funding": "checking",
"id": "ach_transfer_uoxatyh3lt5evrsdvo7q",
"idempotency_key": null,
"inbound_funds_hold": null,
"individual_id": null,
"individual_name": "Ian Crease",
"network": "ach",
"notifications_of_change": [],
"pending_transaction_id": null,
"preferred_effective_date": {
"date": null,
"settlement_schedule": "same_day"
},
"return": null,
"routing_number": "101050001",
"settlement": null,
"standard_entry_class_code": "corporate_credit_or_debit",
"statement_descriptor": "Statement descriptor",
"status": "returned",
"submission": {
"administrative_returns_expected_by": "2020-02-05T11:00:00Z",
"effective_date": "2020-01-31",
"expected_funds_settlement_at": "2020-02-03T13:30:00Z",
"expected_settlement_schedule": "future_dated",
"submitted_at": "2020-01-31T23:59:59Z",
"trace_number": "058349238292834"
},
"transaction_id": "transaction_uyrp7fld2ium70oa7oi",
"type": "ach_transfer"
}
Attributes
account_id
string
The Account to which the transfer belongs.
More about Accounts.
account_number
string
The receiver’s account number.
acknowledgement
dictionary
Nullable
After the transfer is acknowledged by FedACH, this will contain supplemental details. The Federal Reserve sends an acknowledgement message for each file that Increase submits.
Child attributes
addenda
dictionary
Nullable
Additional information that will be sent to the recipient.
Child attributes
amount
integer
The transfer amount in USD cents. A positive amount indicates a credit transfer pushing funds to the receiving account. A negative amount indicates a debit transfer pulling funds from the receiving account.
approval
dictionary
Nullable
If your account requires approvals for transfers and the transfer was approved, this will contain details of the approval.
Child attributes
cancellation
dictionary
Nullable
If your account requires approvals for transfers and the transfer was not approved, this will contain details of the cancellation.
Child attributes
company_descriptive_date
string
Nullable
The description of the date of the transfer.
company_discretionary_data
string
Nullable
The data you chose to associate with the transfer.
company_entry_description
string
Nullable
The description of the transfer you set to be shown to the recipient.
company_id
string
The company ID associated with the transfer.
company_name
string
Nullable
The name by which the recipient knows you.
created_at
string
The ISO 8601 date and time at which the transfer was created.
created_by
dictionary
Nullable
What object created the transfer, either via the API or the dashboard.
Child attributes
currency
enum
The ISO 4217 code for the transfer’s currency. For ACH transfers this is always equal to usd.
Possible values
destination_account_holder
enum
The type of entity that owns the receiver’s account.
Possible values
external_account_id
string
Nullable
The identifier of the External Account the transfer was made to, if any.
More about External Accounts.
funding
enum
The type of the receiver’s bank account.
Possible values
id
string
The ACH transfer’s identifier.
idempotency_key
string
Nullable
The idempotency key you chose for this object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about idempotency.
inbound_funds_hold
dictionary
Nullable
Increase will sometimes hold the funds for ACH debit transfers. If funds are held, this sub-object will contain details of the hold.
Child attributes
individual_id
string
Nullable
Your internal identifier for the transfer recipient. This value is informational and not verified by the recipient’s bank.
individual_name
string
Nullable
The name of the transfer recipient. This value is informational and not verified by the recipient’s bank.
network
string
The transfer’s network.
notifications_of_change
array
If the receiving bank notifies that future transfers should use different details, this will contain those details.
Child attributes
pending_transaction_id
string
Nullable
The ID for the pending transaction representing the transfer. A pending transaction is created when the transfer requires approval by someone else in your organization.
More about Pending Transactions.
preferred_effective_date
dictionary
Configuration for how the effective date of the transfer will be set. This determines same-day vs future-dated settlement timing. If not set, defaults to a settlement_schedule of same_day. If set, exactly one of the child attributes must be set.
Child attributes
return
dictionary
Nullable
If your transfer is returned, this will contain details of the return.
Child attributes
routing_number
string
The American Bankers’ Association (ABA) Routing Transit Number (RTN) of the receiver’s bank.
settlement
dictionary
Nullable
A subhash containing information about when and how the transfer settled at the Federal Reserve.
Child attributes
standard_entry_class_code
enum
The Standard Entry Class (SEC) code to use for the transfer.
Possible values
statement_descriptor
string
The descriptor that will show on the recipient’s bank statement.
status
enum
The lifecycle status of the transfer.
Possible values
submission
dictionary
Nullable
After the transfer is submitted to FedACH, this will contain supplemental details. Increase batches transfers and submits a file to the Federal Reserve roughly every 30 minutes. The Federal Reserve processes ACH transfers during weekdays according to their posted schedule.
Child attributes
transaction_id
string
Nullable
The ID for the transaction funding the transfer.
More about Transactions.
type
string
A constant representing the object’s type. For this resource it will always be ach_transfer.
List ACH Transfers
cURL TypeScript Python Ruby Go Java Kotlin PHP C#
1
2
3
curl \
--url "${INCREASE_URL}/ach_transfers?account_id=account_in71c4amph0vgo2qllky" \
-H "Authorization: Bearer ${INCREASE_API_KEY}"
1
2
3
4
5
6
7
8
9
10
import Increase from 'increase';
const client = new Increase({
apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});
// Automatically fetches more pages as needed.
for await (const achTransfer of client.achTransfers.list()) {
console.log(achTransfer.id);
}
1
2
3
4
5
6
7
8
9
import os
from increase import Increase
client = Increase(
api_key=os.environ.get("INCREASE_API_KEY"), # This is the default and can be omitted
)
page = client.ach_transfers.list()
page = page.data[0]
print(page.id)
1
2
3
4
5
6
7
8
9
require "increase"
increase = Increase::Client.new(
api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)
page = increase.ach_transfers.list
puts(page)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package main
import (
"context"
"fmt"
"os"
"github.com/Increase/increase-go"
"github.com/Increase/increase-go/option"
)
func main() {
client := increase.NewClient(
option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
)
page, err := client.ACHTransfers.List(context.TODO(), increase.ACHTransferListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.increase.api.example;
import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.achtransfers.AchTransferListPage;
import com.increase.api.models.achtransfers.AchTransferListParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
IncreaseClient client = IncreaseOkHttpClient.fromEnv();
AchTransferListPage page = client.achTransfers().list();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
package com.increase.api.example
import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.achtransfers.AchTransferListPage
import com.increase.api.models.achtransfers.AchTransferListParams
fun main() {
val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()
val page: AchTransferListPage = client.achTransfers().list()
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Increase\Client;
use Increase\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('INCREASE_API_KEY'));
try {
$page = $client->achTransfers->list(
accountID: 'account_id',
createdAt: [\
'after' => new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),\
'before' => new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),\
'onOrAfter' => new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),\
'onOrBefore' => new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),\
],
cursor: 'cursor',
externalAccountID: 'external_account_id',
idempotencyKey: 'x',
limit: 1,
status: ['in' => ['pending_approval']],
);
var_dump($page);
} catch (APIException $e) {
echo $e->getMessage();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
using System;
using Increase.Api;
using Increase.Api.Models.AchTransfers;
IncreaseClient client = new();
AchTransferListParams parameters = new();
var page = await client.AchTransfers.List(parameters);
await foreach (var item in page.Paginate())
{
Console.WriteLine(item);
}
Returns a list response :
1
2
3
4
5
6
7
8
{
"data": [\
{ /* ACH Transfer object */ },\
{ /* ACH Transfer object */ }\
/* ... */\
],
"next_cursor": "v57w5d",
}
Parameters
account_id
string
Filter ACH Transfers to those that originated from the specified Account.
More about Accounts.
external_account_id
string
Filter ACH Transfers to those made to the specified External Account.
More about External Accounts.
idempotency_key
string
Filter records to the one with the specified idempotency_key you chose for that object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about idempotency.
Between 1 and 200 characters
status.in
array of strings
Return results whose value is in the provided list. For GET requests, this should be encoded as a comma-delimited string, such as ?in=one,two,three.
Possible values
More parameters
Expand all
cursor
string
limit
integer
created_at.after
string
created_at.before
string
created_at.on_or_after
string
created_at.on_or_before
string
Create an ACH Transfer
cURL TypeScript Python Ruby Go Java Kotlin PHP C#
1
2
3
4
5
6
7
8
9
10
11
curl -X "POST" \
--url "${INCREASE_URL}/ach_transfers" \
-H "Authorization: Bearer ${INCREASE_API_KEY}" \
-H "Content-Type: application/json" \
-d $'{
"account_id": "account_in71c4amph0vgo2qllky",
"account_number": "987654321",
"amount": 100,
"routing_number": "101050001",
"statement_descriptor": "New ACH transfer"
}'
1
2
3
4
5
6
7
8
9
10
11
12
13
import Increase from 'increase';
const client = new Increase({
apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});
const achTransfer = await client.achTransfers.create({
account_id: 'account_in71c4amph0vgo2qllky',
amount: 100,
statement_descriptor: 'New ACH transfer',
});
console.log(achTransfer.id);
1
2
3
4
5
6
7
8
9
10
11
12
import os
from increase import Increase
client = Increase(
api_key=os.environ.get("INCREASE_API_KEY"), # This is the default and can be omitted
)
ach_transfer = client.ach_transfers.create(
account_id="account_in71c4amph0vgo2qllky",
amount=100,
statement_descriptor="New ACH transfer",
)
print(ach_transfer.id)
1
2
3
4
5
6
7
8
9
10
11
12
13
require "increase"
increase = Increase::Client.new(
api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)
ach_transfer = increase.ach_transfers.create(
account_id: "account_in71c4amph0vgo2qllky",
amount: 100,
statement_descriptor: "New ACH transfer"
)
puts(ach_transfer)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package main
import (
"context"
"fmt"
"os"
"github.com/Increase/increase-go"
"github.com/Increase/increase-go/option"
)
func main() {
client := increase.NewClient(
option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
)
achTransfer, err := client.ACHTransfers.New(context.TODO(), increase.ACHTransferNewParams{
AccountID: increase.F("account_in71c4amph0vgo2qllky"),
Amount: increase.F(int64(100)),
StatementDescriptor: increase.F("New ACH transfer"),
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", achTransfer.ID)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package com.increase.api.example;
import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.achtransfers.AchTransfer;
import com.increase.api.models.achtransfers.AchTransferCreateParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
IncreaseClient client = IncreaseOkHttpClient.fromEnv();
AchTransferCreateParams params = AchTransferCreateParams.builder()
.accountId("account_in71c4amph0vgo2qllky")
.amount(100L)
.statementDescriptor("New ACH transfer")
.build();
AchTransfer achTransfer = client.achTransfers().create(params);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com.increase.api.example
import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.achtransfers.AchTransfer
import com.increase.api.models.achtransfers.AchTransferCreateParams
fun main() {
val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()
val params: AchTransferCreateParams = AchTransferCreateParams.builder()
.accountId("account_in71c4amph0vgo2qllky")
.amount(100L)
.statementDescriptor("New ACH transfer")
.build()
val achTransfer: AchTransfer = client.achTransfers().create(params)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Increase\Client;
use Increase\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('INCREASE_API_KEY'));
try {
$achTransfer = $client->achTransfers->create(
accountID: 'account_in71c4amph0vgo2qllky',
amount: 100,
statementDescriptor: 'New ACH transfer',
accountNumber: '987654321',
addenda: [\
'category' => 'freeform',\
'freeform' => [\
'entries' => [\
['paymentRelatedInformation' => 'payment_related_information']\
],\
],\
'paymentOrderRemittanceAdvice' => [\
'invoices' => [['invoiceNumber' => 'sq', 'paidAmount' => 0]]\
],\
],
companyDescriptiveDate: 'J!',
companyDiscretionaryData: 'J!',
companyEntryDescription: 'J!',
companyName: 'company_name',
destinationAccountHolder: 'business',
externalAccountID: 'external_account_id',
funding: 'checking',
individualID: 'individual_id',
individualName: 'individual_name',
preferredEffectiveDate: [\
'date' => '2019-12-27', 'settlementSchedule' => 'same_day'\
],
requireApproval: true,
routingNumber: '101050001',
standardEntryClassCode: 'corporate_credit_or_debit',
);
var_dump($achTransfer);
} catch (APIException $e) {
echo $e->getMessage();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;
using Increase.Api;
using Increase.Api.Models.AchTransfers;
IncreaseClient client = new();
AchTransferCreateParams parameters = new()
{
AccountID = "account_in71c4amph0vgo2qllky",
Amount = 100,
StatementDescriptor = "New ACH transfer",
};
var achTransfer = await client.AchTransfers.Create(parameters);
Console.WriteLine(achTransfer);
Parameters
account_id
string
Required
The Increase identifier for the account that will send the transfer.
More about Accounts.
account_number
string
The receiver’s account number. For credit transfers (positive amount) this is the account that funds will be sent to. For debit transfers (negative amount) this is the account that funds will be pulled from.
Between 1 and 17 characters, character restrictions apply
addenda
dictionary
Additional information passed through to the receiving bank with the transfer. Most ACH transfers do not need this. Only set this if your recipient has asked for addendum data, typically unstructured remittance information. Corporate Trade Exchange (CTX) flows can carry structured X12 remittance advice instead.
Child attributes
amount
integer
Required
The transfer amount in USD cents. A positive amount originates a credit transfer pushing funds to the receiving account. A negative amount originates a debit transfer pulling funds from the receiving account.
company_descriptive_date
string
A description of the transfer date (typically YYMMDD), sent in the company batch header. This value is informational and does not affect funds movement, settlement timing, or returns. Only set this if your recipient has asked for it.
Between 1 and 6 characters, character restrictions apply
company_discretionary_data
string
Custom data sent in the company batch header. This value is informational and does not affect funds movement, settlement timing, or returns. Most ACH transfers do not need this. Only set this if your recipient has asked for it.
Between 1 and 20 characters, character restrictions apply
company_entry_description
string
A short description sent in the company batch header. Most receivers do not surface this. Only set this if your recipient has asked for a specific value or if Nacha mandates one for your Standard Entry Class (SEC) code and use case. For example, Prearranged Payment and Deposit (PPD) payroll credits must use PAYROLL, and reversals must use REVERSAL.
Between 1 and 10 characters, character restrictions apply
company_name
string
The name by which the recipient knows you, sent in the company batch header. We recommend setting this on every transfer; if you do not, we fall back to the ACH company name configured on your account.
Between 1 and 16 characters, character restrictions apply
destination_account_holder
enum
The type of entity that owns the receiver’s account.
Possible values
external_account_id
string
The ID of an External Account to initiate a transfer to. If this parameter is provided, account_number, routing_number, and funding must be absent.
More about External Accounts.
funding
enum
The type of the receiver’s bank account.
Defaults to checking
Possible values
individual_id
string
Your internal identifier for the transfer recipient. This value is informational and not verified by the recipient’s bank. Most callers can leave this unset.
Between 1 and 15 characters, character restrictions apply
individual_name
string
The name of the transfer recipient. This value is informational and not verified by the recipient’s bank.
Between 1 and 22 characters, character restrictions apply
preferred_effective_date
dictionary
Child attributes
require_approval
boolean
Whether the transfer requires explicit approval via the dashboard or API.
routing_number
string
The American Bankers’ Association (ABA) Routing Transit Number (RTN) of the receiver’s bank.
Exactly 9 characters, character restrictions apply
standard_entry_class_code
enum
The Standard Entry Class (SEC) code to use for the transfer. If not provided, the default is corporate_credit_or_debit.
Possible values
statement_descriptor
string
Required
A description you choose to give the transfer. This will be saved with the transfer details, displayed in the dashboard, and returned by the API. If individual_name and company_name are not explicitly set by this API, the statement_descriptor will be sent in those fields to the receiving bank to help the customer recognize the transfer. You are highly encouraged to pass individual_name and company_name instead of relying on this fallback.
Between 1 and 200 characters, character restrictions apply
Retrieve an ACH Transfer
cURL TypeScript Python Ruby Go Java Kotlin PHP C#
1
2
3
curl \
--url "${INCREASE_URL}/ach_transfers/ach_transfer_uoxatyh3lt5evrsdvo7q" \
-H "Authorization: Bearer ${INCREASE_API_KEY}"
1
2
3
4
5
6
7
8
9
import Increase from 'increase';
const client = new Increase({
apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});
const achTransfer = await client.achTransfers.retrieve('ach_transfer_uoxatyh3lt5evrsdvo7q');
console.log(achTransfer.id);
1
2
3
4
5
6
7
8
9
10
import os
from increase import Increase
client = Increase(
api_key=os.environ.get("INCREASE_API_KEY"), # This is the default and can be omitted
)
ach_transfer = client.ach_transfers.retrieve(
"ach_transfer_uoxatyh3lt5evrsdvo7q",
)
print(ach_transfer.id)
1
2
3
4
5
6
7
8
9
require "increase"
increase = Increase::Client.new(
api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)
ach_transfer = increase.ach_transfers.retrieve("ach_transfer_uoxatyh3lt5evrsdvo7q")
puts(ach_transfer)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package main
import (
"context"
"fmt"
"os"
"github.com/Increase/increase-go"
"github.com/Increase/increase-go/option"
)
func main() {
client := increase.NewClient(
option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
)
achTransfer, err := client.ACHTransfers.Get(context.TODO(), "ach_transfer_uoxatyh3lt5evrsdvo7q")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", achTransfer.ID)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.increase.api.example;
import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.achtransfers.AchTransfer;
import com.increase.api.models.achtransfers.AchTransferRetrieveParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
IncreaseClient client = IncreaseOkHttpClient.fromEnv();
AchTransfer achTransfer = client.achTransfers().retrieve("ach_transfer_uoxatyh3lt5evrsdvo7q");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
package com.increase.api.example
import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.achtransfers.AchTransfer
import com.increase.api.models.achtransfers.AchTransferRetrieveParams
fun main() {
val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()
val achTransfer: AchTransfer = client.achTransfers().retrieve("ach_transfer_uoxatyh3lt5evrsdvo7q")
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Increase\Client;
use Increase\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('INCREASE_API_KEY'));
try {
$achTransfer = $client->achTransfers->retrieve(
'ach_transfer_uoxatyh3lt5evrsdvo7q'
);
var_dump($achTransfer);
} catch (APIException $e) {
echo $e->getMessage();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
using Increase.Api;
using Increase.Api.Models.AchTransfers;
IncreaseClient client = new();
AchTransferRetrieveParams parameters = new()
{
AchTransferID = "ach_transfer_uoxatyh3lt5evrsdvo7q"
};
var achTransfer = await client.AchTransfers.Retrieve(parameters);
Console.WriteLine(achTransfer);
Parameters
ach_transfer_id
string
Required
The identifier of the ACH Transfer.
More about ACH Transfers.
Approve an ACH Transfer
Approves an ACH Transfer in a pending_approval state.
cURL TypeScript Python Ruby Go Java Kotlin PHP C#
1
2
3
curl -X "POST" \
--url "${INCREASE_URL}/ach_transfers/ach_transfer_uoxatyh3lt5evrsdvo7q/approve" \
-H "Authorization: Bearer ${INCREASE_API_KEY}"
1
2
3
4
5
6
7
8
9
import Increase from 'increase';
const client = new Increase({
apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});
const achTransfer = await client.achTransfers.approve('ach_transfer_uoxatyh3lt5evrsdvo7q');
console.log(achTransfer.id);
1
2
3
4
5
6
7
8
9
10
import os
from increase import Increase
client = Increase(
api_key=os.environ.get("INCREASE_API_KEY"), # This is the default and can be omitted
)
ach_transfer = client.ach_transfers.approve(
"ach_transfer_uoxatyh3lt5evrsdvo7q",
)
print(ach_transfer.id)
1
2
3
4
5
6
7
8
9
require "increase"
increase = Increase::Client.new(
api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)
ach_transfer = increase.ach_transfers.approve("ach_transfer_uoxatyh3lt5evrsdvo7q")
puts(ach_transfer)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package main
import (
"context"
"fmt"
"os"
"github.com/Increase/increase-go"
"github.com/Increase/increase-go/option"
)
func main() {
client := increase.NewClient(
option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
)
achTransfer, err := client.ACHTransfers.Approve(context.TODO(), "ach_transfer_uoxatyh3lt5evrsdvo7q")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", achTransfer.ID)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.increase.api.example;
import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.achtransfers.AchTransfer;
import com.increase.api.models.achtransfers.AchTransferApproveParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
IncreaseClient client = IncreaseOkHttpClient.fromEnv();
AchTransfer achTransfer = client.achTransfers().approve("ach_transfer_uoxatyh3lt5evrsdvo7q");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
package com.increase.api.example
import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.achtransfers.AchTransfer
import com.increase.api.models.achtransfers.AchTransferApproveParams
fun main() {
val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()
val achTransfer: AchTransfer = client.achTransfers().approve("ach_transfer_uoxatyh3lt5evrsdvo7q")
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Increase\Client;
use Increase\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('INCREASE_API_KEY'));
try {
$achTransfer = $client->achTransfers->approve(
'ach_transfer_uoxatyh3lt5evrsdvo7q'
);
var_dump($achTransfer);
} catch (APIException $e) {
echo $e->getMessage();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
using Increase.Api;
using Increase.Api.Models.AchTransfers;
IncreaseClient client = new();
AchTransferApproveParams parameters = new()
{
AchTransferID = "ach_transfer_uoxatyh3lt5evrsdvo7q"
};
var achTransfer = await client.AchTransfers.Approve(parameters);
Console.WriteLine(achTransfer);
Parameters
ach_transfer_id
string
Required
The identifier of the ACH Transfer to approve.
More about ACH Transfers.
Cancel a pending ACH Transfer
Cancels an ACH Transfer in a pending_approval state.
cURL TypeScript Python Ruby Go Java Kotlin PHP C#
1
2
3
curl -X "POST" \
--url "${INCREASE_URL}/ach_transfers/ach_transfer_uoxatyh3lt5evrsdvo7q/cancel" \
-H "Authorization: Bearer ${INCREASE_API_KEY}"
1
2
3
4
5
6
7
8
9
import Increase from 'increase';
const client = new Increase({
apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});
const achTransfer = await client.achTransfers.cancel('ach_transfer_uoxatyh3lt5evrsdvo7q');
console.log(achTransfer.id);
1
2
3
4
5
6
7
8
9
10
import os
from increase import Increase
client = Increase(
api_key=os.environ.get("INCREASE_API_KEY"), # This is the default and can be omitted
)
ach_transfer = client.ach_transfers.cancel(
"ach_transfer_uoxatyh3lt5evrsdvo7q",
)
print(ach_transfer.id)
1
2
3
4
5
6
7
8
9
require "increase"
increase = Increase::Client.new(
api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)
ach_transfer = increase.ach_transfers.cancel("ach_transfer_uoxatyh3lt5evrsdvo7q")
puts(ach_transfer)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package main
import (
"context"
"fmt"
"os"
"github.com/Increase/increase-go"
"github.com/Increase/increase-go/option"
)
func main() {
client := increase.NewClient(
option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
)
achTransfer, err := client.ACHTransfers.Cancel(context.TODO(), "ach_transfer_uoxatyh3lt5evrsdvo7q")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", achTransfer.ID)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.increase.api.example;
import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.achtransfers.AchTransfer;
import com.increase.api.models.achtransfers.AchTransferCancelParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
IncreaseClient client = IncreaseOkHttpClient.fromEnv();
AchTransfer achTransfer = client.achTransfers().cancel("ach_transfer_uoxatyh3lt5evrsdvo7q");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
package com.increase.api.example
import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.achtransfers.AchTransfer
import com.increase.api.models.achtransfers.AchTransferCancelParams
fun main() {
val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()
val achTransfer: AchTransfer = client.achTransfers().cancel("ach_transfer_uoxatyh3lt5evrsdvo7q")
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Increase\Client;
use Increase\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('INCREASE_API_KEY'));
try {
$achTransfer = $client->achTransfers->cancel(
'ach_transfer_uoxatyh3lt5evrsdvo7q'
);
var_dump($achTransfer);
} catch (APIException $e) {
echo $e->getMessage();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
using Increase.Api;
using Increase.Api.Models.AchTransfers;
IncreaseClient client = new();
AchTransferCancelParams parameters = new()
{
AchTransferID = "ach_transfer_uoxatyh3lt5evrsdvo7q"
};
var achTransfer = await client.AchTransfers.Cancel(parameters);
Console.WriteLine(achTransfer);
Parameters
ach_transfer_id
string
Required
The identifier of the pending ACH Transfer to cancel.
More about ACH Transfers.
Sandbox: Acknowledge an ACH Transfer
Simulates the acknowledgement of an ACH Transfer by the Federal Reserve. This transfer must first have a status of submitted. In production, the Federal Reserve generally acknowledges submitted ACH files within 30 minutes. Since sandbox ACH Transfers are not submitted to the Federal Reserve, this endpoint allows you to skip that delay and add the acknowledgement subresource to the ACH Transfer.
cURL TypeScript Python Ruby Go Java Kotlin PHP C#
1
2
3
curl -X "POST" \
--url "${INCREASE_URL}/simulations/ach_transfers/ach_transfer_uoxatyh3lt5evrsdvo7q/acknowledge" \
-H "Authorization: Bearer ${INCREASE_API_KEY}"
1
2
3
4
5
6
7
8
9
10
11
import Increase from 'increase';
const client = new Increase({
apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});
const achTransfer = await client.simulations.achTransfers.acknowledge(
'ach_transfer_uoxatyh3lt5evrsdvo7q',
);
console.log(achTransfer.id);
1
2
3
4
5
6
7
8
9
10
import os
from increase import Increase
client = Increase(
api_key=os.environ.get("INCREASE_API_KEY"), # This is the default and can be omitted
)
ach_transfer = client.simulations.ach_transfers.acknowledge(
"ach_transfer_uoxatyh3lt5evrsdvo7q",
)
print(ach_transfer.id)
1
2
3
4
5
6
7
8
9
require "increase"
increase = Increase::Client.new(
api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)
ach_transfer = increase.simulations.ach_transfers.acknowledge("ach_transfer_uoxatyh3lt5evrsdvo7q")
puts(ach_transfer)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package main
import (
"context"
"fmt"
"os"
"github.com/Increase/increase-go"
"github.com/Increase/increase-go/option"
)
func main() {
client := increase.NewClient(
option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
)
achTransfer, err := client.Simulations.ACHTransfers.Acknowledge(context.TODO(), "ach_transfer_uoxatyh3lt5evrsdvo7q")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", achTransfer.ID)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.increase.api.example;
import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.achtransfers.AchTransfer;
import com.increase.api.models.simulations.achtransfers.AchTransferAcknowledgeParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
IncreaseClient client = IncreaseOkHttpClient.fromEnv();
AchTransfer achTransfer = client.simulations().achTransfers().acknowledge("ach_transfer_uoxatyh3lt5evrsdvo7q");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
package com.increase.api.example
import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.achtransfers.AchTransfer
import com.increase.api.models.simulations.achtransfers.AchTransferAcknowledgeParams
fun main() {
val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()
val achTransfer: AchTransfer = client.simulations().achTransfers().acknowledge("ach_transfer_uoxatyh3lt5evrsdvo7q")
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Increase\Client;
use Increase\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('INCREASE_API_KEY'));
try {
$achTransfer = $client->simulations->achTransfers->acknowledge(
'ach_transfer_uoxatyh3lt5evrsdvo7q'
);
var_dump($achTransfer);
} catch (APIException $e) {
echo $e->getMessage();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
using Increase.Api;
using Increase.Api.Models.Simulations.AchTransfers;
IncreaseClient client = new();
AchTransferAcknowledgeParams parameters = new()
{
AchTransferID = "ach_transfer_uoxatyh3lt5evrsdvo7q"
};
var achTransfer = await client.Simulations.AchTransfers.Acknowledge(parameters);
Console.WriteLine(achTransfer);
Parameters
ach_transfer_id
string
Required
The identifier of the ACH Transfer you wish to become acknowledged.
More about ACH Transfers.
Sandbox: Create a Notification of Change for an ACH Transfer
Simulates receiving a Notification of Change for an ACH Transfer.
cURL TypeScript Python Ruby Go Java Kotlin PHP C#
1
2
3
4
5
6
7
curl -X "POST" \
--url "${INCREASE_URL}/simulations/ach_transfers/ach_transfer_uoxatyh3lt5evrsdvo7q/create_notification_of_change" \
-H "Authorization: Bearer ${INCREASE_API_KEY}" \
-H "Content-Type: application/json" \
-d $'{
"corrected_routing_number": "123456789"
}'
1
2
3
4
5
6
7
8
9
10
11
import Increase from 'increase';
const client = new Increase({
apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});
const achTransfer = await client.simulations.achTransfers.createNotificationOfChange(
'ach_transfer_uoxatyh3lt5evrsdvo7q',
);
console.log(achTransfer.id);
1
2
3
4
5
6
7
8
9
10
import os
from increase import Increase
client = Increase(
api_key=os.environ.get("INCREASE_API_KEY"), # This is the default and can be omitted
)
ach_transfer = client.simulations.ach_transfers.create_notification_of_change(
ach_transfer_id="ach_transfer_uoxatyh3lt5evrsdvo7q",
)
print(ach_transfer.id)
1
2
3
4
5
6
7
8
9
require "increase"
increase = Increase::Client.new(
api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)
ach_transfer = increase.simulations.ach_transfers.create_notification_of_change("ach_transfer_uoxatyh3lt5evrsdvo7q")
puts(ach_transfer)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package main
import (
"context"
"fmt"
"os"
"github.com/Increase/increase-go"
"github.com/Increase/increase-go/option"
)
func main() {
client := increase.NewClient(
option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
)
achTransfer, err := client.Simulations.ACHTransfers.NewNotificationOfChange(
context.TODO(),
"ach_transfer_uoxatyh3lt5evrsdvo7q",
increase.SimulationACHTransferNewNotificationOfChangeParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", achTransfer.ID)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.increase.api.example;
import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.achtransfers.AchTransfer;
import com.increase.api.models.simulations.achtransfers.AchTransferCreateNotificationOfChangeParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
IncreaseClient client = IncreaseOkHttpClient.fromEnv();
AchTransfer achTransfer = client.simulations().achTransfers().createNotificationOfChange("ach_transfer_uoxatyh3lt5evrsdvo7q");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
package com.increase.api.example
import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.achtransfers.AchTransfer
import com.increase.api.models.simulations.achtransfers.AchTransferCreateNotificationOfChangeParams
fun main() {
val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()
val achTransfer: AchTransfer = client.simulations().achTransfers().createNotificationOfChange("ach_transfer_uoxatyh3lt5evrsdvo7q")
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Increase\Client;
use Increase\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('INCREASE_API_KEY'));
try {
$achTransfer = $client->simulations->achTransfers->createNotificationOfChange(
'ach_transfer_uoxatyh3lt5evrsdvo7q',
correctedAccountFunding: 'checking',
correctedAccountNumber: 'x',
correctedIndividualID: 'x',
correctedRoutingNumber: '123456789',
);
var_dump($achTransfer);
} catch (APIException $e) {
echo $e->getMessage();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
using Increase.Api;
using Increase.Api.Models.Simulations.AchTransfers;
IncreaseClient client = new();
AchTransferCreateNotificationOfChangeParams parameters = new()
{
AchTransferID = "ach_transfer_uoxatyh3lt5evrsdvo7q"
};
var achTransfer = await client.Simulations.AchTransfers.CreateNotificationOfChange(parameters);
Console.WriteLine(achTransfer);
Parameters
ach_transfer_id
string
Required
The identifier of the ACH Transfer you wish to create a notification of change for.
More about ACH Transfers.
corrected_account_funding
enum
The corrected account funding type.
Possible values
corrected_account_number
string
The corrected account number.
Between 1 and 17 characters
corrected_individual_id
string
The corrected individual identifier.
Between 1 and 22 characters
corrected_routing_number
string
The corrected routing number.
Exactly 9 characters, character restrictions apply
Sandbox: Return an ACH Transfer
Simulates the return of an ACH Transfer by the Federal Reserve due to an error condition. This will also create a Transaction to account for the returned funds. This transfer must first have a status of submitted.
cURL TypeScript Python Ruby Go Java Kotlin PHP C#
1
2
3
4
5
curl -X "POST" \
--url "${INCREASE_URL}/simulations/ach_transfers/ach_transfer_uoxatyh3lt5evrsdvo7q/return" \
-H "Authorization: Bearer ${INCREASE_API_KEY}" \
-H "Content-Type: application/json" \
-d $'{}'
1
2
3
4
5
6
7
8
9
10
11
import Increase from 'increase';
const client = new Increase({
apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});
const achTransfer = await client.simulations.achTransfers.return(
'ach_transfer_uoxatyh3lt5evrsdvo7q',
);
console.log(achTransfer.id);
1
2
3
4
5
6
7
8
9
10
import os
from increase import Increase
client = Increase(
api_key=os.environ.get("INCREASE_API_KEY"), # This is the default and can be omitted
)
ach_transfer = client.simulations.ach_transfers.return_(
ach_transfer_id="ach_transfer_uoxatyh3lt5evrsdvo7q",
)
print(ach_transfer.id)
1
2
3
4
5
6
7
8
9
require "increase"
increase = Increase::Client.new(
api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)
ach_transfer = increase.simulations.ach_transfers.return_("ach_transfer_uoxatyh3lt5evrsdvo7q")
puts(ach_transfer)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package main
import (
"context"
"fmt"
"os"
"github.com/Increase/increase-go"
"github.com/Increase/increase-go/option"
)
func main() {
client := increase.NewClient(
option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
)
achTransfer, err := client.Simulations.ACHTransfers.Return(
context.TODO(),
"ach_transfer_uoxatyh3lt5evrsdvo7q",
increase.SimulationACHTransferReturnParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", achTransfer.ID)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.increase.api.example;
import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.achtransfers.AchTransfer;
import com.increase.api.models.simulations.achtransfers.AchTransferReturnParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
IncreaseClient client = IncreaseOkHttpClient.fromEnv();
AchTransfer achTransfer = client.simulations().achTransfers().return_("ach_transfer_uoxatyh3lt5evrsdvo7q");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
package com.increase.api.example
import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.achtransfers.AchTransfer
import com.increase.api.models.simulations.achtransfers.AchTransferReturnParams
fun main() {
val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()
val achTransfer: AchTransfer = client.simulations().achTransfers().return_("ach_transfer_uoxatyh3lt5evrsdvo7q")
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Increase\Client;
use Increase\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('INCREASE_API_KEY'));
try {
$achTransfer = $client->simulations->achTransfers->return(
'ach_transfer_uoxatyh3lt5evrsdvo7q',
addendaInformation: 'x',
reason: 'insufficient_fund',
);
var_dump($achTransfer);
} catch (APIException $e) {
echo $e->getMessage();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
using Increase.Api;
using Increase.Api.Models.Simulations.AchTransfers;
IncreaseClient client = new();
AchTransferReturnParams parameters = new()
{
AchTransferID = "ach_transfer_uoxatyh3lt5evrsdvo7q"
};
var achTransfer = await client.Simulations.AchTransfers.Return(parameters);
Console.WriteLine(achTransfer);
Parameters
ach_transfer_id
string
Required
The identifier of the ACH Transfer you wish to return.
More about ACH Transfers.
addenda_information
string
Free-form information the returning bank includes in the return addenda. For a file_record_edit_criteria (R17) return, set this to QUESTIONABLE to simulate a return the bank believes was initiated under questionable circumstances.
Between 1 and 200 characters
reason
enum
The reason why the Federal Reserve or destination bank returned this transfer.
Defaults to no_account
Possible values
Sandbox: Settle an ACH Transfer
Simulates the settlement of an ACH Transfer by the Federal Reserve. This transfer must first have a status of pending_submission or submitted. For convenience, if the transfer is in status: pending_submission, the simulation will also submit the transfer. Without this simulation the transfer will eventually settle on its own following the same Federal Reserve timeline as in production. Additionally, you can specify the behavior of the inbound funds hold that is created when the ACH Transfer is settled. If no behavior is specified, the inbound funds hold will be released immediately in order for the funds to be available for use.
cURL TypeScript Python Ruby Go Java Kotlin PHP C#
1
2
3
4
5
6
7
curl -X "POST" \
--url "${INCREASE_URL}/simulations/ach_transfers/ach_transfer_uoxatyh3lt5evrsdvo7q/settle" \
-H "Authorization: Bearer ${INCREASE_API_KEY}" \
-H "Content-Type: application/json" \
-d $'{
"inbound_funds_hold_behavior": "release_immediately"
}'
1
2
3
4
5
6
7
8
9
10
11
import Increase from 'increase';
const client = new Increase({
apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});
const achTransfer = await client.simulations.achTransfers.settle(
'ach_transfer_uoxatyh3lt5evrsdvo7q',
);
console.log(achTransfer.id);
1
2
3
4
5
6
7
8
9
10
import os
from increase import Increase
client = Increase(
api_key=os.environ.get("INCREASE_API_KEY"), # This is the default and can be omitted
)
ach_transfer = client.simulations.ach_transfers.settle(
ach_transfer_id="ach_transfer_uoxatyh3lt5evrsdvo7q",
)
print(ach_transfer.id)
1
2
3
4
5
6
7
8
9
require "increase"
increase = Increase::Client.new(
api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)
ach_transfer = increase.simulations.ach_transfers.settle("ach_transfer_uoxatyh3lt5evrsdvo7q")
puts(ach_transfer)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package main
import (
"context"
"fmt"
"os"
"github.com/Increase/increase-go"
"github.com/Increase/increase-go/option"
)
func main() {
client := increase.NewClient(
option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
)
achTransfer, err := client.Simulations.ACHTransfers.Settle(
context.TODO(),
"ach_transfer_uoxatyh3lt5evrsdvo7q",
increase.SimulationACHTransferSettleParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", achTransfer.ID)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.increase.api.example;
import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.achtransfers.AchTransfer;
import com.increase.api.models.simulations.achtransfers.AchTransferSettleParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
IncreaseClient client = IncreaseOkHttpClient.fromEnv();
AchTransfer achTransfer = client.simulations().achTransfers().settle("ach_transfer_uoxatyh3lt5evrsdvo7q");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
package com.increase.api.example
import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.achtransfers.AchTransfer
import com.increase.api.models.simulations.achtransfers.AchTransferSettleParams
fun main() {
val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()
val achTransfer: AchTransfer = client.simulations().achTransfers().settle("ach_transfer_uoxatyh3lt5evrsdvo7q")
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Increase\Client;
use Increase\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('INCREASE_API_KEY'));
try {
$achTransfer = $client->simulations->achTransfers->settle(
'ach_transfer_uoxatyh3lt5evrsdvo7q',
inboundFundsHoldBehavior: 'release_immediately',
);
var_dump($achTransfer);
} catch (APIException $e) {
echo $e->getMessage();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
using Increase.Api;
using Increase.Api.Models.Simulations.AchTransfers;
IncreaseClient client = new();
AchTransferSettleParams parameters = new()
{
AchTransferID = "ach_transfer_uoxatyh3lt5evrsdvo7q"
};
var achTransfer = await client.Simulations.AchTransfers.Settle(parameters);
Console.WriteLine(achTransfer);
Parameters
ach_transfer_id
string
Required
The identifier of the ACH Transfer you wish to become settled.
More about ACH Transfers.
inbound_funds_hold_behavior
enum
The behavior of the inbound funds hold that is created when the ACH Transfer is settled. If no behavior is specified, the inbound funds hold will be released immediately in order for the funds to be available for use.
Possible values
Sandbox: Submit an ACH Transfer
Simulates the submission of an ACH Transfer to the Federal Reserve. This transfer must first have a status of pending_approval or pending_submission. In production, Increase submits ACH Transfers to the Federal Reserve three times per day on weekdays. Since sandbox ACH Transfers are not submitted to the Federal Reserve, this endpoint allows you to skip that delay and transition the ACH Transfer to a status of submitted.
cURL TypeScript Python Ruby Go Java Kotlin PHP C#
1
2
3
curl -X "POST" \
--url "${INCREASE_URL}/simulations/ach_transfers/ach_transfer_uoxatyh3lt5evrsdvo7q/submit" \
-H "Authorization: Bearer ${INCREASE_API_KEY}"
1
2
3
4
5
6
7
8
9
10
11
import Increase from 'increase';
const client = new Increase({
apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});
const achTransfer = await client.simulations.achTransfers.submit(
'ach_transfer_uoxatyh3lt5evrsdvo7q',
);
console.log(achTransfer.id);
1
2
3
4
5
6
7
8
9
10
import os
from increase import Increase
client = Increase(
api_key=os.environ.get("INCREASE_API_KEY"), # This is the default and can be omitted
)
ach_transfer = client.simulations.ach_transfers.submit(
"ach_transfer_uoxatyh3lt5evrsdvo7q",
)
print(ach_transfer.id)
1
2
3
4
5
6
7
8
9
require "increase"
increase = Increase::Client.new(
api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)
ach_transfer = increase.simulations.ach_transfers.submit("ach_transfer_uoxatyh3lt5evrsdvo7q")
puts(ach_transfer)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package main
import (
"context"
"fmt"
"os"
"github.com/Increase/increase-go"
"github.com/Increase/increase-go/option"
)
func main() {
client := increase.NewClient(
option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
)
achTransfer, err := client.Simulations.ACHTransfers.Submit(context.TODO(), "ach_transfer_uoxatyh3lt5evrsdvo7q")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", achTransfer.ID)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.increase.api.example;
import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.achtransfers.AchTransfer;
import com.increase.api.models.simulations.achtransfers.AchTransferSubmitParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
IncreaseClient client = IncreaseOkHttpClient.fromEnv();
AchTransfer achTransfer = client.simulations().achTransfers().submit("ach_transfer_uoxatyh3lt5evrsdvo7q");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
package com.increase.api.example
import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.achtransfers.AchTransfer
import com.increase.api.models.simulations.achtransfers.AchTransferSubmitParams
fun main() {
val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()
val achTransfer: AchTransfer = client.simulations().achTransfers().submit("ach_transfer_uoxatyh3lt5evrsdvo7q")
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Increase\Client;
use Increase\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('INCREASE_API_KEY'));
try {
$achTransfer = $client->simulations->achTransfers->submit(
'ach_transfer_uoxatyh3lt5evrsdvo7q'
);
var_dump($achTransfer);
} catch (APIException $e) {
echo $e->getMessage();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
using Increase.Api;
using Increase.Api.Models.Simulations.AchTransfers;
IncreaseClient client = new();
AchTransferSubmitParams parameters = new()
{
AchTransferID = "ach_transfer_uoxatyh3lt5evrsdvo7q"
};
var achTransfer = await client.Simulations.AchTransfers.Submit(parameters);
Console.WriteLine(achTransfer);
Parameters
ach_transfer_id
string
Required
The identifier of the ACH Transfer you wish to submit.
More about ACH Transfers.