---
title: "Sandbox: Create an Inbound ACH Transfer"
method: POST
path: "/simulations/inbound_ach_transfers"
---

# Sandbox: Create an Inbound ACH Transfer

`POST /simulations/inbound_ach_transfers`

Simulates an inbound ACH transfer to your account. This imitates initiating a transfer to an Increase account from a different financial institution. The transfer may be either a credit or a debit depending on if the `amount` is positive or negative. The result of calling this API will contain the created transfer. You can pass a `resolve_at` parameter to allow for a window to [action on the Inbound ACH Transfer](https://increase.com/documentation/receiving-ach-transfers). Alternatively, if you don't pass the `resolve_at` parameter the result will contain either a [Transaction](#transactions) or a [Declined Transaction](#declined-transactions) depending on whether or not the transfer is allowed.

## Request body

- SandboxCreateAnInboundAchTransferParameters
  - `account_number_id` string, required — The identifier of the Account Number the inbound ACH Transfer is for.
  - `addenda` object — Additional information to include in the transfer.
    - `category` 'freeform', required — The type of addenda to simulate being sent with the transfer.
    - `freeform` object — Unstructured `payment_related_information` passed through with the transfer.
      - `entries` object[], required — Each entry represents an addendum sent with the transfer.
        - `payment_related_information` string, required — The payment related information passed in the addendum.
  - `amount` integer, required — The transfer amount in 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 — The description of the date of the transfer.
  - `company_discretionary_data` string — Data associated with the transfer set by the sender.
  - `company_entry_description` string — The description of the transfer set by the sender.
  - `company_id` string — The sender's company ID.
  - `company_name` string — The name of the sender. This corresponds to the `originator_company_name` field on the resulting Inbound ACH Transfer.
  - `receiver_id_number` string — The ID of the receiver of the transfer.
  - `receiver_name` string — The name of the receiver of the transfer.
  - `resolve_at` string, date-time — The time at which the transfer should be resolved. If not provided will resolve immediately.
  - `standard_entry_class_code` 'corporate_credit_or_debit' | 'corporate_trade_exchange' | 'prearranged_payments_and_deposit' | 'internet_initiated' | 'point_of_sale' | 'telephone_initiated' | 'customer_initiated' | 'accounts_receivable' | 'machine_transfer' | 'shared_network_transaction' | 'represented_check' | 'back_office_conversion' | 'point_of_purchase' | 'check_truncation' | 'destroyed_check' | 'international_ach_transaction' — The standard entry class code for the transfer.

## Response `200`

Inbound ACH Transfer

- InboundAchTransfer — An Inbound ACH Transfer is an ACH transfer initiated outside of Increase to your account.
  - `acceptance` object, nullable, required — If your transfer is accepted, this will contain details of the acceptance.
    - `accepted_at` string, date-time, required — The time at which the transfer was accepted.
    - `transaction_id` string, required — The id of the transaction for the accepted transfer.
  - `account_id` string, required — The Account to which the transfer belongs.
  - `account_number_id` string, required — The identifier of the Account Number to which this transfer was sent.
  - `addenda` object, nullable, required — Additional information sent from the originator.
    - `category` 'freeform', required — The type of addendum.
    - `freeform` object, nullable, required — Unstructured `payment_related_information` passed through by the originator.
      - `entries` object[], required — Each entry represents an addendum received from the originator.
        - `payment_related_information` string, required — The payment related information passed in the addendum.
  - `amount` integer, required — The transfer amount in USD cents.
  - `automatically_resolves_at` string, date-time, required — The time at which the transfer will be automatically resolved.
  - `created_at` string, date-time, required — The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which the inbound ACH transfer was created.
  - `decline` object, nullable, required — If your transfer is declined, this will contain details of the decline.
    - `declined_at` string, date-time, required — The time at which the transfer was declined.
    - `declined_transaction_id` string, required — The id of the transaction for the declined transfer.
    - `reason` 'ach_route_canceled' | 'ach_route_disabled' | 'breaches_limit' | 'entity_not_active' | 'group_locked' | 'transaction_not_allowed' | 'returned_per_odfi_request' | 'user_initiated' | 'insufficient_funds' | 'authorization_revoked_by_customer' | 'payment_stopped' | 'customer_advised_unauthorized_improper_ineligible_or_incomplete' | 'representative_payee_deceased_or_unable_to_continue_in_that_capacity' | 'beneficiary_or_account_holder_deceased' | 'credit_entry_refused_by_receiver' | 'duplicate_entry' | 'corporate_customer_advised_not_authorized', required — The reason for the transfer decline.
  - `direction` 'credit' | 'debit', required — The direction of the transfer.
  - `effective_date` string, date, required — The effective date of the transfer. This is sent by the sending bank and is a factor in determining funds availability.
  - `id` string, required — The inbound ACH transfer's identifier.
  - `international_addenda` object, nullable, required — If the Inbound ACH Transfer has a Standard Entry Class Code of IAT, this will contain fields pertaining to the International ACH Transaction.
    - `destination_country_code` string, required — The [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2), Alpha-2 country code of the destination country.
    - `destination_currency_code` string, required — The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code for the destination bank account.
    - `foreign_exchange_indicator` 'fixed_to_variable' | 'variable_to_fixed' | 'fixed_to_fixed', required — A description of how the foreign exchange rate was calculated.
    - `foreign_exchange_reference` string, nullable, required — Depending on the `foreign_exchange_reference_indicator`, an exchange rate or a reference to a well-known rate.
    - `foreign_exchange_reference_indicator` 'foreign_exchange_rate' | 'foreign_exchange_reference_number' | 'blank', required — An instruction of how to interpret the `foreign_exchange_reference` field for this Transaction.
    - `foreign_payment_amount` integer, required — The amount in the minor unit of the foreign payment currency. For dollars, for example, this is cents.
    - `foreign_trace_number` string, nullable, required — A reference number in the foreign banking infrastructure.
    - `international_transaction_type_code` 'annuity' | 'business_or_commercial' | 'deposit' | 'loan' | 'miscellaneous' | 'mortgage' | 'pension' | 'remittance' | 'rent_or_lease' | 'salary_or_payroll' | 'tax' | 'accounts_receivable' | 'back_office_conversion' | 'machine_transfer' | 'point_of_purchase' | 'point_of_sale' | 'represented_check' | 'shared_network_transaction' | 'telphone_initiated' | 'internet_initiated', required — The type of transfer. Set by the originator.
    - `originating_currency_code` string, required — The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code for the originating bank account.
    - `originating_depository_financial_institution_branch_country` string, required — The [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2), Alpha-2 country code of the originating branch country.
    - `originating_depository_financial_institution_id` string, required — An identifier for the originating bank. One of an International Bank Account Number (IBAN) bank identifier, Swift Bank Identification Code (BIC), or a domestic identifier like a US Routing Number.
    - `originating_depository_financial_institution_id_qualifier` 'national_clearing_system_number' | 'bic_code' | 'iban', required — An instruction of how to interpret the `originating_depository_financial_institution_id` field for this Transaction.
    - `originating_depository_financial_institution_name` string, required — The name of the originating bank. Sometimes this will refer to an American bank and obscure the correspondent foreign bank.
    - `originator_city` string, required — A portion of the originator address. This may be incomplete.
    - `originator_country` string, required — A portion of the originator address. The [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2), Alpha-2 country code of the originator country.
    - `originator_identification` string, required — An identifier for the originating company. This is generally stable across multiple ACH transfers.
    - `originator_name` string, required — Either the name of the originator or an intermediary money transmitter.
    - `originator_postal_code` string, nullable, required — A portion of the originator address. This may be incomplete.
    - `originator_state_or_province` string, nullable, required — A portion of the originator address. This may be incomplete.
    - `originator_street_address` string, required — A portion of the originator address. This may be incomplete.
    - `payment_related_information` string, nullable, required — A description field set by the originator.
    - `payment_related_information2` string, nullable, required — A description field set by the originator.
    - `receiver_city` string, required — A portion of the receiver address. This may be incomplete.
    - `receiver_country` string, required — A portion of the receiver address. The [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2), Alpha-2 country code of the receiver country.
    - `receiver_identification_number` string, nullable, required — An identification number the originator uses for the receiver.
    - `receiver_postal_code` string, nullable, required — A portion of the receiver address. This may be incomplete.
    - `receiver_state_or_province` string, nullable, required — A portion of the receiver address. This may be incomplete.
    - `receiver_street_address` string, required — A portion of the receiver address. This may be incomplete.
    - `receiving_company_or_individual_name` string, required — The name of the receiver of the transfer. This is not verified by Increase.
    - `receiving_depository_financial_institution_country` string, required — The [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2), Alpha-2 country code of the receiving bank country.
    - `receiving_depository_financial_institution_id` string, required — An identifier for the receiving bank. One of an International Bank Account Number (IBAN) bank identifier, Swift Bank Identification Code (BIC), or a domestic identifier like a US Routing Number.
    - `receiving_depository_financial_institution_id_qualifier` 'national_clearing_system_number' | 'bic_code' | 'iban', required — An instruction of how to interpret the `receiving_depository_financial_institution_id` field for this Transaction.
    - `receiving_depository_financial_institution_name` string, required — The name of the receiving bank, as set by the sending financial institution.
  - `notification_of_change` object, nullable, required — If you initiate a notification of change in response to the transfer, this will contain its details.
    - `updated_account_number` string, nullable, required — The new account number provided in the notification of change.
    - `updated_routing_number` string, nullable, required — The new routing number provided in the notification of change.
  - `originator_company_descriptive_date` string, nullable, required — The descriptive date of the transfer.
  - `originator_company_discretionary_data` string, nullable, required — The additional information included with the transfer.
  - `originator_company_entry_description` string, required — The description of the transfer.
  - `originator_company_id` string, required — The id of the company that initiated the transfer.
  - `originator_company_name` string, required — The name of the company that initiated the transfer.
  - `originator_routing_number` string, required — The American Banking Association (ABA) routing number of the bank originating the transfer.
  - `receiver_id_number` string, nullable, required — The id of the receiver of the transfer.
  - `receiver_name` string, nullable, required — The name of the receiver of the transfer.
  - `settlement` object, required — A subhash containing information about when and how the transfer settled at the Federal Reserve.
    - `settled_at` string, date-time, required — When the funds for this transfer settle at the recipient bank at the Federal Reserve.
    - `settlement_schedule` 'same_day' | 'future_dated', required — The settlement schedule this transfer follows.
  - `standard_entry_class_code` 'corporate_credit_or_debit' | 'corporate_trade_exchange' | 'prearranged_payments_and_deposit' | 'internet_initiated' | 'point_of_sale' | 'telephone_initiated' | 'customer_initiated' | 'accounts_receivable' | 'machine_transfer' | 'shared_network_transaction' | 'represented_check' | 'back_office_conversion' | 'point_of_purchase' | 'check_truncation' | 'destroyed_check' | 'international_ach_transaction', required — The Standard Entry Class (SEC) code of the transfer.
  - `status` 'pending' | 'declined' | 'accepted' | 'returned', required — The status of the transfer.
  - `trace_number` string, required — A 15 digit number set by the sending bank and transmitted to the receiving bank. Along with the amount, date, and originating routing number, this can be used to identify the ACH transfer. ACH trace numbers are not unique, but are [used to correlate returns](https://increase.com/documentation/ach-returns#ach-returns).
  - `transfer_return` object, nullable, required — If your transfer is returned, this will contain details of the return.
    - `reason` 'insufficient_funds' | 'returned_per_odfi_request' | 'authorization_revoked_by_customer' | 'payment_stopped' | 'customer_advised_unauthorized_improper_ineligible_or_incomplete' | 'representative_payee_deceased_or_unable_to_continue_in_that_capacity' | 'beneficiary_or_account_holder_deceased' | 'credit_entry_refused_by_receiver' | 'duplicate_entry' | 'corporate_customer_advised_not_authorized', required — The reason for the transfer return.
    - `returned_at` string, date-time, required — The time at which the transfer was returned.
    - `transaction_id` string, required — The id of the transaction for the returned transfer.
  - `type` 'inbound_ach_transfer', required — A constant representing the object's type. For this resource it will always be `inbound_ach_transfer`.

## Other responses

- `4XX` — Error
- `5XX` — Error

---

[API](https://skmtc.net/increase/apis/increase-api-2.md) · [All operations](https://skmtc.net/increase/apis/increase-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/increase/increase-api-2/versions/e968bcd4dcf9/schema)
