v4

latestOpenAPI 3.1.02026-08-012402353.8 MB

Create an ACH Transfer

post/ach_transfers

Request body

account_idstring required

The Increase identifier for the account that will send the transfer.

account_numberstring

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.

amountinteger 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_datestring

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.

company_discretionary_datastring

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.

company_entry_descriptionstring

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.

company_namestring

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.

destination_account_holder'business' | 'individual' | 'unknown'

The type of entity that owns the receiver's account.

external_account_idstring

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.

funding'checking' | 'savings' | 'loan' | 'general_ledger'

The type of the receiver's bank account.

individual_idstring

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.

individual_namestring

The name of the transfer recipient. This value is informational and not verified by the recipient's bank.

require_approvalboolean

Whether the transfer requires explicit approval via the dashboard or API.

routing_numberstring

The American Bankers' Association (ABA) Routing Transit Number (RTN) of the receiver's bank.

standard_entry_class_code'corporate_credit_or_debit' | 'corporate_trade_exchange' | 'prearranged_payments_and_deposit' | 'internet_initiated'

The Standard Entry Class (SEC) code to use for the transfer. If not provided, the default is corporate_credit_or_debit.

statement_descriptorstring 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.

transaction_timing'synchronous' | 'asynchronous'

The timing of the transaction.

Example request

{
  "account_id": "account_in71c4amph0vgo2qllky",
  "account_number": "987654321",
  "amount": 100,
  "routing_number": "101050001",
  "statement_descriptor": "New ACH transfer"
}

Response

ACH Transfer

account_idstring required

The Account to which the transfer belongs.

account_numberstring required

The receiver's account number.

amountinteger required

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.

company_descriptive_datestring nullable required

The description of the date of the transfer.

company_discretionary_datastring nullable required

The data you chose to associate with the transfer.

company_entry_descriptionstring nullable required

The description of the transfer you set to be shown to the recipient.

company_idstring required

The company ID associated with the transfer.

company_namestring nullable required

The name by which the recipient knows you.

created_atstring date-time required

The ISO 8601 date and time at which the transfer was created.

currency'USD' required

The ISO 4217 code for the transfer's currency. For ACH transfers this is always equal to usd.

destination_account_holder'business' | 'individual' | 'unknown' required

The type of entity that owns the receiver's account.

external_account_idstring nullable required

The identifier of the External Account the transfer was made to, if any.

funding'checking' | 'savings' | 'loan' | 'general_ledger' required

The type of the receiver's bank account.

idstring required

The ACH transfer's identifier.

idempotency_keystring nullable required

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.

individual_idstring nullable required

Your internal identifier for the transfer recipient. This value is informational and not verified by the recipient's bank.

individual_namestring nullable required

The name of the transfer recipient. This value is informational and not verified by the recipient's bank.

network'ach' required

The transfer's network.

pending_transaction_idstring nullable required

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.

routing_numberstring required

The American Bankers' Association (ABA) Routing Transit Number (RTN) of the receiver's bank.

standard_entry_class_code'corporate_credit_or_debit' | 'corporate_trade_exchange' | 'prearranged_payments_and_deposit' | 'internet_initiated' required

The Standard Entry Class (SEC) code to use for the transfer.

statement_descriptorstring required

The descriptor that will show on the recipient's bank statement.

status'pending_approval' | 'pending_transfer_session_confirmation' | 'canceled' | 'pending_submission' | 'pending_reviewing' | 'requires_attention' | 'rejected' | 'submitted' | 'returned' required

The lifecycle status of the transfer.

transaction_idstring nullable required

The ID for the transaction funding the transfer.

type'ach_transfer' required

A constant representing the object's type. For this resource it will always be ach_transfer.

Example response

{
  "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"
}