> ## Documentation Index
> Fetch the complete documentation index at: https://docs.synctera.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Incoming ACH Transactions

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




## OpenAPI

````yaml openapi-v2.json get /ach/incoming
openapi: 3.0.3
info:
  description: >
    <h2>Let's build something great.</h2><p>Welcome to the official reference
    documentation for Synctera APIs. Our APIs are the best way to automate your
    company's banking needs and are designed to be easy to understand and
    implement.</p><p>We're continuously growing this library and what you see
    here is just the start, but if you need something specific or have a
    question, <a class='text-blue-600' href='https://synctera.com/contact'
    target='_blank' rel='noreferrer'>contact us</a>.</p>
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  title: Synctera API
  version: v2
servers:
  - description: Production
    url: https://api.synctera.com/v2
  - description: Sandbox (no real world financial impact)
    url: https://api-sandbox.synctera.com/v2
security:
  - bearerAuth: []
tags:
  - description: Create and manage wire transfers
    name: Wires
  - description: Simulate receiving Wire transactions and returns
    name: Wire Transaction Simulations
  - description: >-
      Create and manage same currency and multi-currency international wire
      transfers
    name: International Wires (alpha)
  - description: Create and manage payments
    name: ACH
  - description: Simulate receiving ACH transactions and returns
    name: ACH Transaction Simulations
  - description: Configure vendor secrets for egress requests
    name: Egress Gateway Vendor Secret CRUD API
  - description: Configure webhook secrets for egress requests
    name: Egress Gateway Webhook Secret CRUD API
  - description: Create and manage documents.
    name: Documents
  - description: Create and manage EFT Canada transfers
    name: EFT Canada (Beta)
  - description: Create and manage sweep configurations
    name: Configs
  - description: Request to create and manage edd
    name: Trust
  - description: Requests to calculate and manage CRR
    name: CRR
  - description: Requests to issue and manage cards
    name: Cards
  - description: Push and pull from cards
    name: External Cards
  - description: Bulk card issuance
    name: Bulk Issuance
  - description: Requests to generate simulated transactions
    name: Card Transaction Simulations
  - description: Requests to generate simulated webhooks
    name: Card Webhook Simulations
  - description: Requests to create and manage card disputes
    name: Card Disputes
  - description: Requests to simulate card payments
    name: Card Simulations
  - description: Create and manage accounts
    name: Accounts
  - description: Create and manage transactions
    name: Transactions (beta)
  - description: Create and manage spending controls
    name: Spend Controls (beta)
  - description: |
      Requests to create and manage fees
    name: Fees (beta)
  - description: |
      Requests to create and manage Rewards
    name: Rewards (beta)
  - description: Create and manage disputes
    name: Disputes
  - description: Create and manage tenant-level transaction limits
    name: Tenant Limits (beta)
  - description: |
      Requests to create and manage batch payments
    name: Batch Payments (alpha)
  - description: Manage negative balance processes
    name: Negative Balance
  - description: |
      Manage fee products and fee configs for automated fee collection
    name: Fee Products
  - description: |
      Manage reward products and reward configs for automated cashback rewards
    name: Reward Products
  - description: Create and manage holds
    name: Hold
  - description: Create and manage transactions
    name: Transactions
  - description: Create and manage transactions
    name: Transactions (internal)
  - description: Create and manage scheduled transactions
    name: Scheduled Transactions (internal)
  - description: Create and manage spending controls
    name: Spend Controls
  - description: Create and manage tenant configurations
    name: Tenant Configs
  - description: Lookup merchant information
    name: Merchants
  - description: See balance history
    name: BalanceHistory
  - description: API for effective balances
    name: effective_balances
  - description: Transaction lines API
    name: transactions
  - description: Requests for risk evaluation and decisioning
    name: Risk Evaluations
  - description: Requests for transaction risk detection
    name: Transaction risk
  - description: Configuration and management of transaction monitoring rules
    name: Transaction Monitoring
  - description: Request to create and manage deposits using remote deposit capture
    name: Remote Check Deposit
  - description: Request to create and manage rdc configurations
    name: RDC Config
  - description: Apple Pay APIs
    name: Apple Pay
  - description: Requests to create and manage webhooks
    name: Webhooks
  - description: Requests to generate simulated transactions
    name: Cash Transaction Simulations (alpha)
  - description: >-
      Testing endpoints to simulate in-store cash deposits. Available in sandbox
      environments only.
    name: In-Store Cash Deposit Simulations
  - description: Create and manage barcodes for in-store cash deposits
    name: In-Store Cash Deposits
  - description: Create and manage Cash Order and Cash Deposit transfers
    name: Cash Orders and Deposits (alpha)
  - description: FDX authentication and data transfer using Plaid Core Exchange
    name: Plaid Core Exchange (beta)
  - description: Request to create and manage payment_schedules
    name: Cronut
  - description: Request to create and manage statements
    name: Statements
  - description: Create and manage Synctera Pay templates
    name: SyncteraPay
  - description: Account Template
    name: Account Templates
  - description: >-
      Account programs define configurations for payment rails and transaction
      capabilities across different account types.
    name: Account Programs
  - description: Requests to create and manage account products, including fees, interest.
    name: Account Products
  - description: |
      The internal account resource is used for managing links to internal
      accounts where the funds are managed by integrators.
    name: Internal Accounts
  - description: Requests to create and manage API keys
    name: API Keys
  - description: Requests to manage banks
    name: Banks
  - description: Requests to create and manage customers
    name: Customers
  - description: >
      A natural person (individual human) that is relevant to the Synctera
      platform in some way: e.g. a personal customer or a director/officer/owner
      of a business.
    name: Persons
  - description: >
      A legal entity (corporation, partnership, etc.) that is relevant to the
      Synctera platform in some way: a business customer or some other
      organization that has an ownership share in such a business customer.
    name: Businesses
  - description: >
      The fintech profile document resource is used to track the approval status
      of any documents

      which must be reviewed by a bank. This includes regulatory documents which
      will be presented

      to the fintech's end users, and also any documents that help the bank
      understand the

      fintech's fitness for duty.
    name: Fintech Profile
  - description: |
      The disclosures resource is used to track the status of disclosures and
      ensure that all parties have been shown the necessary disclosures to meet
      regulatory obligations.
    name: Disclosures
  - description: |
      The Disclosures resource is used to track the status of disclosures and
      ensure that customers have been shown the necessary disclosures to meet
      regulatory obligations.
    name: Disclosures (deprecated)
  - description: |
      The External Account resource is used for managing links to accounts
      that operate outside of the Synctera ecosystem.
    name: External Accounts
  - description: History
    name: History
  - description: Requests to initiate customer verification.
    name: KYC Verification (deprecated)
  - description: Requests to initiate customer verification.
    name: KYC/KYB Verifications
  - description: Requests to screen parties against sanctions watchlists
    name: Sanctions Screening
  - description: Requests to manage monitoring subscriptions and alerts for customers.
    name: Monitoring
  - description: Requests to manage partners
    name: Partners
  - description: Request to create and manage party groups and party group members
    name: Party Groups
  - description: Requests to create and manage roles
    name: Roles
  - description: >
      Represents the relationships between parties. A relationship can exist
      between personal customers, business customers, or non-customer
      persons/organizations.
    name: Relationships
  - description: Request to create and manage users
    name: Users
  - description: Request to enroll, renew, or cancel watchlist monitors
    name: Watchlist (deprecated)
  - description: Retrieve user identity information
    name: Identity
  - description: Endpoints for modifying or fetching posting dates
    name: Posting Dates
  - description: Admin API for Middesk configuration using the tenants API keys.
    name: Middesk
  - description: Requests to search and manage compliance searches
    name: Compliance Searches
  - description: Requests to configure vendors.
    name: Vendor Configurations
  - description: Requests to create and manage notes
    name: Notes
  - description: >
      Represents the compliance rules that are used to verify certain kinds of
      money movement.
    name: Compliance Rules
  - description: Requests to create licenses
    name: Licenses
  - description: >-
      Used to configure bank accounts for which synctera accounts are considered
      a "subledger" to
    name: Bank Account
  - description: Requests to search financial institutions
    name: Institutions (Beta)
  - description: Requests to manage addresses
    name: Addresses
  - description: Requests to Admins to grant permissions to user
    name: Request Permissions
  - description: Manage contacts for bank and fintech partners
    name: Contacts
  - description: Requests to create and manage personal ID configurations
    name: Personal ID Configuration
  - description: >-
      Migration mappings associate resources from an old tenant identity with a
      new tenant identity.
    name: Migration Mappings
  - description: Create a credit application.
    name: Applications (beta)
  - description: Billing period summaries
    name: Billing Period Summaries
  - description: Customer Service Details for disputes and billing inquiries
    name: Customer Service Details
  - description: Billing rates
    name: Billing Rates
  - description: Rates
    name: Rates
  - description: Lending Config
    name: Lending Config
  - description: Manage credit disputes
    name: Credit Disputes
  - description: Payments related to lending accounts
    name: Payments
  - description: Tenant Config
    name: Tenant Config
  - description: Bank Delinquency Configuration
    name: Bank Delinquency Configuration
  - description: >-
      Per bank/partner account-type mapping to FFIEC collateral codes used for
      regulatory call report furnishment.
    name: Collateral Code Configuration
  - description: >-
      Rules that map a posted payment transaction (bank/partner + transaction
      attributes) to a regulatory payment code. NULL match columns act as
      wildcards.
    name: Payment Code Configuration
  - description: Autopay configuration management for lending accounts
    name: Autopay Configs
  - description: Autopay payment records for billing periods
    name: Autopays
  - description: Configuration for mapping LoanPro events to Payola transaction parameters
    name: LoanPro Transaction Event Config
  - description: >-
      Aggregated write-off amounts for lending accounts, computed from posted
      transactions.
    name: Write Off Amounts
paths:
  /ach/incoming:
    summary: Incoming ACH transactions
    get:
      tags:
        - ACH
      summary: List Incoming ACH Transactions
      description: >
        > 🚧 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.
      operationId: getIncomingACHList
      parameters:
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/page_token'
        - $ref: '#/components/parameters/status'
        - $ref: '#/components/parameters/settlement_date_from'
        - $ref: '#/components/parameters/settlement_date_to'
        - $ref: '#/components/parameters/account_id'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/incoming_ach_list'
          description: Incoming ACH transactions list
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internal_server_error'
components:
  parameters:
    limit:
      in: query
      name: limit
      schema:
        default: 100
        description: >
          Maximum number of objects to return per page. If the limit is greater
          than 100, then it will be set to 100.
        example: 100
        minimum: 1
        type: integer
    page_token:
      in: query
      name: page_token
      schema:
        description: >-
          Optional pagination token to be provided to retrieve subsequent pages,
          returned from previous get
        example: a8937a0d
        type: string
    status:
      description: The status of the transaction
      explode: false
      in: query
      name: status
      schema:
        example: PENDING,PARTCLEARED
        items:
          type: string
        type: array
    settlement_date_from:
      description: Start of the settlement date range query
      in: query
      name: settlement_date_from
      schema:
        example: '2023-09-15'
        format: date
        type: string
    settlement_date_to:
      description: End of the settlement date range query
      in: query
      name: settlement_date_to
      schema:
        example: '2023-09-25'
        format: date
        type: string
    account_id:
      description: The account's unique identifier provided by Synctera
      in: query
      name: account_id
      required: true
      schema:
        example: 7d943c51-e4ff-4e57-9558-08cab6b963c7
        format: uuid
        type: string
  schemas:
    incoming_ach_list:
      allOf:
        - properties:
            transactions:
              description: Array of incoming ACH transactions
              items:
                $ref: '#/components/schemas/incoming_ach'
              type: array
          required:
            - transactions
          type: object
        - $ref: '#/components/schemas/paginated_response'
    incoming_ach:
      description: Represents an incoming ACH entry.
      properties:
        account_id:
          description: >
            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'.
          example: b01db9c7-78f2-4a99-8aca-1231d32f9b96
          format: uuid
          type: string
        account_no:
          description: >-
            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).
          example: '122455799'
          type: string
        amount:
          description: Transfer amount in cents ($100 would be 10000)
          example: 10000
          type: integer
        company_entry_description:
          description: >-
            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.
          example: PAYROLL
          type: string
        company_name:
          description: Company Name field in ACH batch header.
          example: Asdf Finance
          type: string
        customer_id:
          description: The unique identifier of the account holder (customer or business).
          example: 46fac778-90c0-4d55-9a21-a587e564e7b5
          format: uuid
          type: string
        dc_sign:
          description: >-
            The type of transaction (debit or credit). An incoming debit pulls
            money out of the receiving account, a credit is a transfer in.
          enum:
            - debit
            - credit
          type: string
        decline_reason:
          description: >-
            Free-form text describing the reason why this entry did not post to
            the intended account when first processed.
          example: Suspected fraud
          type: string
        effective_date:
          description: Effective date of the transaction
          example: '2022-03-25'
          format: date
          type: string
        external_id:
          description: >-
            Transaction ID in the ledger. The transaction may not exist yet in
            case the entry is a future-dated ACH.
          format: uuid
          type: string
        file_name:
          description: The name of the ACH file this entry came in, if available.
          type: string
        iat_info:
          $ref: '#/components/schemas/iat_data'
        id:
          example: b01db9c7-78f2-4a99-8aca-1231d32f9b96
          format: uuid
          type: string
        identification_number:
          description: >-
            Value in this field varies depending on the SEC code. Can contain
            check serial number, identification number or a name of the
            originator.
          type: string
        individual_name:
          description: >-
            The name of the receiver, as entered by the originator. Usually the
            name on the bank account.
          type: string
        is_future_dated:
          description: Was the effective date in the future when the entry was received?
          type: boolean
        notification_of_change:
          $ref: '#/components/schemas/noc_data'
        originating_routing_number:
          description: >-
            The routing number of the DFI that originated the entry, with check
            digit included (9 digits in total).
          example: '364275034'
          type: string
        outgoing_ach_id:
          description: >-
            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.
          example: b01db9c7-78f2-4a99-8aca-1231d32f9b96
          format: uuid
          type: string
        reference_info:
          description: >-
            Contents of all attached records with addenda 05 (payment related
            information). Some SEC codes allow multiple instances of addenda 05.
          items:
            type: string
          type: array
        return_data:
          $ref: '#/components/schemas/return_data'
        sec_code:
          description: SEC (Standard Entry Class) code of the ACH entry
          example: WEB
          type: string
        settlement_date:
          description: Settlement date of the transaction
          example: '2022-03-25'
          format: date
          type: string
        status:
          description: Processing status of the incoming entry
          enum:
            - INIT
            - POSTED
            - RETURNED
            - IN_SUSPENSE
            - ERROR
            - IGNORED
          type: string
        tenant:
          $ref: '#/components/schemas/tenant_id'
        trace_no:
          description: Trace number of the ACH entry
          example: '123456780000069'
          type: string
      required:
        - id
        - tenant
        - account_no
        - amount
        - dc_sign
        - effective_date
        - settlement_date
        - trace_no
        - is_future_dated
        - sec_code
        - company_entry_description
        - company_name
        - originating_routing_number
        - status
        - identification_number
        - individual_name
        - file_name
      type: object
    paginated_response:
      properties:
        next_page_token:
          description: >-
            If returned, use the next_page_token to query for the next page of
            results. Not returned if there are no more rows.
          example: a8937a0d
          type: string
      title: Paginated List response
      type: object
    error:
      description: Synctera error responses in API v1 implement a custom error schema.
      properties:
        code:
          description: >
            A machine-readable string that identifies the error for programmatic
            use.
          example: BAD_REQUEST_BODY
          type: string
        detail:
          description: |
            A human-readable string explaining this particular error.
          example: 'Missing required fields: first_name, dob'
          type: string
        status:
          description: HTTP status code for this response
          example: 400
          type: integer
      title: Synctera error response
      type: object
    iat_data:
      description: Aggregates contents of the IAT addenda records (10-16)
      properties:
        foreign_payment_amount:
          description: >-
            For inbound IAT payments this field should contain the USD amount or
            may be blank. Amount is in cents ($100 would be 10000).
          type: integer
        foreign_trace_number:
          type: string
        name:
          description: Receiving Company Name/Individual Name
          type: string
        odfi_branch_country_code:
          description: >
            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.
          type: string
        odfi_id_number_qualifier:
          description: >
            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
          type: string
        odfi_identification:
          description: >
            For Inbound IATs: This field contains the bank ID number of the
            Foreign Bank providing funding for the payment transaction.
          type: string
        odfi_name:
          description: >
            For Inbound IATs: The name of the foreign bank providing funding for
            the payment transaction
          type: string
        originator_address:
          $ref: '#/components/schemas/iat_address'
        originator_name:
          description: The originators name
          type: string
        rdfi_branch_country_code:
          description: >
            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
          type: string
        rdfi_id_number_qualifier:
          description: >
            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
          type: string
        rdfi_identification:
          description: >-
            The bank identification number of the DFI at which the Receiver
            maintains his account.
          type: string
        rdfi_name:
          description: Name of the Receiver's bank
          type: string
        receiver_address:
          $ref: '#/components/schemas/iat_address'
        receiver_id_number:
          description: >-
            The accounting number by which the Originator is known to the
            Receiver for descriptive purposes.
          type: string
        transaction_type_code:
          description: >
            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
          type: string
      required:
        - transaction_type_code
        - foreign_payment_amount
        - foreign_trace_number
        - name
        - originator_name
        - originator_address
        - odfi_name
        - odfi_id_number_qualifier
        - odfi_identification
        - odfi_branch_country_code
        - rdfi_name
        - rdfi_id_number_qualifier
        - rdfi_identification
        - rdfi_branch_country_code
        - receiver_id_number
        - receiver_address
      type: object
    noc_data:
      description: Filled if the entry is a notification of change.
      properties:
        change_code:
          description: >-
            Change code, indicating which part of the original entry is to be
            corrected.
          example: C01
          type: string
        corrected_data:
          description: >-
            Corrected information from the original entry (e.g. correct account
            number).
          example: '122455799'
          type: string
        original_dfi_no:
          description: Receiving financial institution of the original entry.
          example: '364275034'
          type: string
        original_trace:
          description: Trace number of the original entry that is being corrected.
          example: '123456780000069'
          type: string
      required:
        - change_code
        - corrected_data
        - original_trace
        - original_dfi_no
      type: object
    return_data:
      description: Filled if the entry is a return.
      properties:
        code:
          description: Return reason code, i.e. why is the entry being returned.
          example: R01
          type: string
        dishonored_return_code:
          description: >-
            Code of the original dishonored return (without "R"). Filled only if
            this is a contested return.
          example: '69'
          type: string
        dishonored_return_settlement_date:
          description: >-
            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.
          example: '256'
          type: string
        dishonored_return_trace:
          description: >-
            Trace number of the original dishonored return. Filled only if this
            is a contested return.
          example: '123456780000069'
          type: string
        field_errors:
          description: >-
            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.
          example: '05'
          type: string
        original_dfi_no:
          description: Receiving financial institution of the original entry.
          example: '364275034'
          type: string
        original_trace:
          description: Trace number of the original entry that is being returned.
          example: '123456780000069'
          type: string
        return_code:
          description: >-
            Return reason code of the original return (just the number). Filled
            only if this is a dishonored return.
          example: '13'
          type: string
        return_settlement_date:
          description: >-
            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.
          example: '256'
          type: string
        return_trace:
          description: >-
            Trace number of the original return. Filled only if this is a
            dishonored return.
          example: '123456780000069'
          type: string
      required:
        - code
        - original_trace
        - original_dfi_no
      type: object
    tenant_id:
      description: |
        The id of the tenant containing the resource.
      example: abcdef_ghijkl
      type: string
    iat_address:
      properties:
        city_state_province:
          description: >-
            City and State / Province. Should be separated with an asterisk (*)
            as a delimiter.
          example: San Francisco*CA
          type: string
        country_postal_code:
          description: >-
            Country and Postal Code. Should be separated with an asterisk (*) as
            a delimiter.
          example: US*10036
          type: string
        street:
          description: The street address
          type: string
      required:
        - street
        - city_state_province
        - country_postal_code
      type: object
  responses:
    bad_request:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Bad request
    unauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Unauthorized
    forbidden:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Forbidden
    internal_server_error:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Internal server error
  securitySchemes:
    bearerAuth:
      bearerFormat: api_key
      scheme: bearer
      type: http

````