v47

latestOpenAPI 3.1.0raw.githubusercontent.com2026-05-012382333.4 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 account number for the destination account.

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

The description of the date of the transfer, usually in the format YYMMDD. This is included in the transfer data sent to the receiving bank.

company_discretionary_datastring

The data you choose to associate with the transfer. This is included in the transfer data sent to the receiving bank.

company_entry_descriptionstring

A description of the transfer, included in the transfer data sent to the receiving bank. Standardized formatting may be required, for example PAYROLL for payroll-related Prearranged Payments and Deposits (PPD) credit transfers.

company_namestring

The name by which the recipient knows you. This is included in the transfer data sent to the receiving bank.

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

The type of entity that owns the account to which the ACH Transfer is being sent.

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' | 'general_ledger'

The type of the account to which the transfer will be sent.

individual_idstring

Your identifier for the transfer recipient.

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) for the destination account.

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.

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 destination 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 account to which the ACH Transfer is being sent.

external_account_idstring nullable required

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

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

The type of the account to which the transfer will be sent.

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 identifier for the transfer recipient.

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

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