---
title: "Get Incoming ACH Transaction By ID"
method: GET
path: "/ach/incoming/{id}"
tags: ["ACH"]
---

# Get Incoming ACH Transaction By ID

`GET /ach/incoming/{id}`

> 🚧 Beta
> This is a Beta endpoint for use by early adopters. Do not use this endpoint with real customers. Feedback from the community is welcome. Any breaking changes to this endpoint will be pre-announced.

## Path parameters

- `id` string, uuid, required

## Response `200`

Incoming ACH transaction

- IncomingAch — Represents an incoming ACH entry.
  - `account_id` string, uuid — The unique identifier for a receiving account. If the entry is in suspense (status = "IN_SUSPENSE"), this represents the intended customer account, i.e. the account that 'account_no' from the ACH entry refers to (if it exists in the Synctera system). If the entry has been posted (status = "POSTED"), it is the account the transaction was actually posted to. In that case it does not necessarily correspond to the account number in 'account_no'.
  - `account_no` string, required — Receiving account number. This is the account number from the ACH entry, actual account the transaction gets posted to after processing may be different (e.g. suspense account).
  - `amount` integer, required — Transfer amount in cents ($100 would be 10000)
  - `company_entry_description` string, required — Company Entry Description field in ACH batch header. Originator inserts this field's value to provide the Receiver with a description of the entry's purpose. NACHA Operating Rules dictate that Payroll or E-Commerce Purchase ACH transactions require setting this field to PAYROLL or PURCHASE respectively.
  - `company_name` string, required — Company Name field in ACH batch header.
  - `customer_id` string, uuid — The unique identifier of the account holder (customer or business).
  - `dc_sign` 'credit' | 'debit', required — The type of transaction (debit or credit). An incoming debit pulls money out of the receiving account, a credit is a transfer in.
  - `decline_reason` string — Free-form text describing the reason why this entry did not post to the intended account when first processed.
  - `effective_date` string, date, required — Effective date of the transaction
  - `external_id` string, uuid — Transaction ID in the ledger. The transaction may not exist yet in case the entry is a future-dated ACH.
  - `file_name` string, required — The name of the ACH file this entry came in, if available.
  - `iat_info` IatData — Aggregates contents of the IAT addenda records (10-16)
    - `foreign_payment_amount` integer, required — For inbound IAT payments this field should contain the USD amount or may be blank. Amount is in cents ($100 would be 10000).
    - `foreign_trace_number` string, required
    - `name` string, required — Receiving Company Name/Individual Name
    - `odfi_branch_country_code` string, required — For Inbound IATs: This 3 position field contains a 2-character code as approved by the International Organization for Standardization (ISO) used to identify the country in which the branch of the bank that originated the entry is located. Values for other countries can be found on the International Organization for Standardization website: www.iso.org.
    - `odfi_id_number_qualifier` string, required — For Inbound IATs: The 2-digit code that identifies the numbering scheme used in the Foreign DFI Identification Number field: 01 = National Clearing System 02 = BIC Code 03 = IBAN Code
    - `odfi_identification` string, required — For Inbound IATs: This field contains the bank ID number of the Foreign Bank providing funding for the payment transaction.
    - `odfi_name` string, required — For Inbound IATs: The name of the foreign bank providing funding for the payment transaction
    - `originator_address` IatAddress, required
      - `city_state_province` string, required — City and State / Province. Should be separated with an asterisk (*) as a delimiter.
      - `country_postal_code` string, required — Country and Postal Code. Should be separated with an asterisk (*) as a delimiter.
      - `street` string, required — The street address
    - `originator_name` string, required — The originators name
    - `rdfi_branch_country_code` string, required — This 3 position field contains a 2-character code as approved by the International Organization for Standardization (ISO) used to identify the country in which the branch of the bank that receives the entry is located. Values for other countries can be found on the International Organization for Standardization website: www.iso.org
    - `rdfi_id_number_qualifier` string, required — The 2-digit code that identifies the numbering scheme used in the Receiving DFI Identification Number field: 01 = National Clearing System 02 = BIC Code 03 = IBAN Code
    - `rdfi_identification` string, required — The bank identification number of the DFI at which the Receiver maintains his account.
    - `rdfi_name` string, required — Name of the Receiver's bank
    - `receiver_address` IatAddress, required
      - `city_state_province` string, required — City and State / Province. Should be separated with an asterisk (*) as a delimiter.
      - `country_postal_code` string, required — Country and Postal Code. Should be separated with an asterisk (*) as a delimiter.
      - `street` string, required — The street address
    - `receiver_id_number` string, required — The accounting number by which the Originator is known to the Receiver for descriptive purposes.
    - `transaction_type_code` string, required — Transaction Type Code Describes the type of payment ANN = Annuity, BUS = Business/Commercial, DEP = Deposit, LOA = Loan, MIS = Miscellaneous, MOR = Mortgage PEN = Pension, RLS = Rent/Lease, REM = Remittance2, SAL = Salary/Payroll, TAX = Tax, TEL = Telephone-Initiated Transaction WEB = Internet-Initiated Transaction, ARC = Accounts Receivable Entry, BOC = Back Office Conversion Entry, POP = Point of Purchase Entry, RCK = Re-presented Check Entry
  - `id` string, uuid, required
  - `identification_number` string, required — Value in this field varies depending on the SEC code. Can contain check serial number, identification number or a name of the originator.
  - `individual_name` string, required — The name of the receiver, as entered by the originator. Usually the name on the bank account.
  - `is_future_dated` boolean, required — Was the effective date in the future when the entry was received?
  - `notification_of_change` NocData — Filled if the entry is a notification of change.
    - `change_code` string, required — Change code, indicating which part of the original entry is to be corrected.
    - `corrected_data` string, required — Corrected information from the original entry (e.g. correct account number).
    - `original_dfi_no` string, required — Receiving financial institution of the original entry.
    - `original_trace` string, required — Trace number of the original entry that is being corrected.
  - `originating_routing_number` string, required — The routing number of the DFI that originated the entry, with check digit included (9 digits in total).
  - `outgoing_ach_id` string, uuid — ID of the linked outgoing ACH entry. This is filled only for incoming ACH entries that are returns and links to the original outgoing entry that is now being returned.
  - `reference_info` string[] — Contents of all attached records with addenda 05 (payment related information). Some SEC codes allow multiple instances of addenda 05.
  - `return_data` ReturnData — Filled if the entry is a return.
    - `code` string, required — Return reason code, i.e. why is the entry being returned.
    - `dishonored_return_code` string — Code of the original dishonored return (without "R"). Filled only if this is a contested return.
    - `dishonored_return_settlement_date` string — Settlement date of the original dishonored return. Filled only if this is a contested return. Formatted as an ordinal date, a single day-of-year number between 1-366.
    - `dishonored_return_trace` string — Trace number of the original dishonored return. Filled only if this is a contested return.
    - `field_errors` string — Required for return reason code R69. Contains the code(s) to indicate the field(s) in which erroneous information in the original return is located.
    - `original_dfi_no` string, required — Receiving financial institution of the original entry.
    - `original_trace` string, required — Trace number of the original entry that is being returned.
    - `return_code` string — Return reason code of the original return (just the number). Filled only if this is a dishonored return.
    - `return_settlement_date` string — Settlement date of the original return. Filled only if this is a dishonored return. Formatted as an ordinal date, a single day-of-year number between 1-366.
    - `return_trace` string — Trace number of the original return. Filled only if this is a dishonored return.
  - `sec_code` string, required — SEC (Standard Entry Class) code of the ACH entry
  - `settlement_date` string, date, required — Settlement date of the transaction
  - `status` 'ERROR' | 'IGNORED' | 'INIT' | 'IN_SUSPENSE' | 'POSTED' | 'RETURNED', required — Processing status of the incoming entry
  - `tenant` string, required — The id of the tenant containing the resource. This is relevant for Fintechs that have multiple workspaces.
  - `trace_no` string, required — Trace number of the ACH entry

## Other responses

- `400` — BadRequest
- `401` — Unauthorized
- `403` — Forbidden error
- `404` — Resource not found
- `500` — Internal server error

---

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