> ## 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.json get /ach/incoming
openapi: 3.0.3
info:
  description: >-
    This is the official reference documentation for Synctera APIs. If you need
    something specific or have a question, <a class='text-blue-600'
    href='https://synctera.com/contact-us' 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: 0.213.0
servers:
  - description: Sandbox (no real world financial impact)
    url: https://api-sandbox.synctera.com/v0
  - description: Production
    url: https://api.synctera.com/v0
security:
  - bearerAuth: []
tags:
  - description: Lookup merchant information
    name: Merchants
  - description: Requests to generate simulated webhooks
    name: Card Webhook Simulations
  - description: >-
      Account programs define configurations for payment rails and transaction
      capabilities across different account types.
    name: Account Programs
  - description: Simulate receiving ACH transactions and returns
    name: ACH Transaction Simulations
  - description: Requests for risk evaluation and decisioning
    name: Risk Evaluations
  - description: Requests to link and manage External Cards
    name: External Cards
  - 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: Create and manage Cash Order and Cash Deposit transfers
    name: Cash Orders and Deposits (alpha)
  - description: Requests to initiate customer verification.
    name: KYC Verification (deprecated)
  - description: Request to create and manage users
    name: Users
  - description: See balance history
    name: BalanceHistory
  - description: >-
      Migration mappings associate resources from an old tenant identity with a
      new tenant identity.
    name: Migration Mappings
  - description: |
      The External Account resource is used for managing links to accounts
      that operate outside of the Synctera ecosystem.
    name: External Accounts
  - description: Requests to create and manage account products, including fees, interest.
    name: Account Products
  - description: Requests to create and manage webhooks
    name: Webhooks
  - description: Create and manage documents.
    name: Documents
  - description: >-
      Create and manage same currency and multi-currency international wire
      transfers
    name: International Wires (alpha)
  - description: Requests for transaction risk detection
    name: Transaction risk
  - description: >-
      Used to configure bank accounts for which synctera accounts are considered
      a "subledger" to
    name: Bank Account
  - description: Request to create and manage party groups and party group members
    name: Party Groups
  - description: Requests to manage addresses
    name: Addresses
  - description: Requests to manage monitoring subscriptions and alerts for customers.
    name: Monitoring
  - description: Requests to search and manage compliance searches
    name: Compliance Searches
  - description: Requests to create and manage customers
    name: Customers
  - description: |
      The internal account resource is used for managing links to internal
      accounts where the funds are managed by integrators.
    name: Internal Accounts
  - description: Create and manage spending controls
    name: Spend Controls
  - description: Retrieve user identity information
    name: Identity
  - description: Requests to manage banks
    name: Banks
  - 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: Create and manage wire transfers
    name: Wires
  - description: Requests to issue and manage Cards
    name: Cards
  - description: Request to create and manage edd
    name: Trust
  - description: Request to enroll, renew, or cancel watchlist monitors
    name: Watchlist (deprecated)
  - description: Endpoints for modifying or fetching posting dates
    name: Posting Dates
  - description: Transaction lines API
    name: transactions
  - description: Request to create and manage accounts
    name: Accounts
  - description: Requests to create and manage notes
    name: Notes
  - description: Account Template
    name: Account Templates
  - description: API for effective balances
    name: effective_balances
  - description: Requests to create and manage personal ID configurations
    name: Personal ID Configuration
  - 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: >
      Represents the relationships between parties. A relationship can exist
      between personal customers, business customers, or non-customer
      persons/organizations.
    name: Relationships
  - 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: Request to create and manage payment_schedules
    name: Cronut
  - description: Requests to manage partners
    name: Partners
  - description: Request to create and manage deposits using remote deposit capture
    name: Remote Check Deposit
  - description: Requests to create and manage API keys
    name: API Keys
  - description: Requests to create and manage ban rules
    name: Ban Rules
  - description: Admin API for Middesk configuration using the tenants API keys.
    name: Middesk
  - description: Request to create and manage exclusions
    name: Stately
  - description: Request to create and manage partner configurations
    name: Quickstart
  - description: Manage contacts for bank and fintech partners
    name: Contacts
  - description: Create and manage transactions
    name: Transactions
  - description: Request to create and manage rdc configurations
    name: RDC Config
  - description: Create and manage holds
    name: Hold
  - description: Requests to create and manage roles
    name: Roles
  - description: Simulate receiving Wire transactions and returns
    name: Wire Transaction Simulations
  - description: Requests to create licenses
    name: Licenses
  - description: Requests to Admins to grant permissions to user
    name: Request Permissions
  - description: Configure vendor secrets for egress requests
    name: Egress Gateway Vendor Secret CRUD API
  - description: Requests to screen parties against sanctions watchlists
    name: Sanctions Screening
  - description: Create and manage payments
    name: ACH
  - description: Requests to calculate and manage CRR
    name: CRR
  - description: Requests to search financial institutions
    name: Institutions (Beta)
  - description: Create and manage tenant configurations
    name: Tenant Configs
  - description: Create and manage sweep configurations
    name: Configs
  - description: >
      Represents the compliance rules that are used to verify certain kinds of
      money movement.
    name: Compliance Rules
  - description: Configure webhook secrets for egress requests
    name: Egress Gateway Webhook Secret CRUD API
  - description: Create and manage transactions
    name: Transactions (internal)
  - description: History
    name: History
  - description: Create and manage EFT Canada transfers
    name: EFT Canada (Beta)
  - description: Requests to generate simulated transactions
    name: Card Transaction Simulations
  - description: Requests to initiate customer verification.
    name: KYC/KYB Verifications
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/status'
        - $ref: '#/components/parameters/settlement_date_to'
        - $ref: '#/components/parameters/settlement_date_from'
        - $ref: '#/components/parameters/account_id'
        - $ref: '#/components/parameters/page_token'
        - $ref: '#/components/parameters/limit'
      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:
    status:
      description: Status of the transaction
      in: query
      name: status
      schema:
        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
    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
    account_id:
      description: uuid representing an account
      in: query
      name: account_id
      schema:
        example: 7d943c51-e4ff-4e57-9558-08cab6b963c7
        format: uuid
        type: string
    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
    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
  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:
            - credit
            - debit
          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:
            - ERROR
            - IGNORED
            - INIT
            - IN_SUSPENSE
            - POSTED
            - RETURNED
          type: string
        tenant:
          $ref: '#/components/schemas/tenant_id'
        trace_no:
          description: Trace number of the ACH entry
          example: '123456780000069'
          type: string
      required:
        - account_no
        - amount
        - company_entry_description
        - company_name
        - dc_sign
        - effective_date
        - file_name
        - id
        - identification_number
        - individual_name
        - is_future_dated
        - originating_routing_number
        - sec_code
        - settlement_date
        - status
        - tenant
        - trace_no
      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 v0 follow [RFC
        7807](https://datatracker.ietf.org/doc/html/rfc7807). Following that
        standard, the field for a machine-readable "error code" in API v0 is
        `type`.

        In our future API v1, we are phasing out RFC 7807 and adopting a custom
        error format. That format will be documented in our API v1 spec. But you
        may see some v0 error responses with a machine-readable `code` field
        while we are making the transition from v0 to v1.
      properties:
        code:
          description: >-
            An optional “sneak preview” of our future API v1 error responses.
            This is provided to give integrators a chance to work with our
            future error codes. Error codes for the same error may change
            between v0 and v1.
          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: the HTTP status code for this response
          example: 400
          type: integer
        title:
          description: >
            A human-readable string for this general category of error, which
            corresponds 1-to-1 with error types (`title` is the human-readable
            version of `type`). There can be multiple distinct titles for the
            same HTTP status code, and the same `title` can result in many
            different `detail` strings.

            This field will be removed in API v1.
          example: Bad Request Body
          type: string
        type:
          description: >
            A machine-readable string that identifies the error for programmatic
            use. This is a URI, i.e. a globally unique identifier. It is _not_
            necessarily a URL, so do not expect it to resolve to a web page. You
            can use this whole string as an error code, or just everything after
            the last slash.

            This field will be removed in API v1.
          example: https://dev.synctera.com/errors/bad-request-body
          type: string
      title: Standard error response (RFC 7807 problem report)
      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:
        - foreign_payment_amount
        - foreign_trace_number
        - name
        - odfi_branch_country_code
        - odfi_id_number_qualifier
        - odfi_identification
        - odfi_name
        - originator_address
        - originator_name
        - rdfi_branch_country_code
        - rdfi_id_number_qualifier
        - rdfi_identification
        - rdfi_name
        - receiver_address
        - receiver_id_number
        - transaction_type_code
      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_dfi_no
        - original_trace
      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_dfi_no
        - original_trace
      type: object
    tenant_id:
      description: >
        The id of the tenant containing the resource. This is relevant for
        Fintechs that have multiple workspaces.
      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:
        - city_state_province
        - country_postal_code
        - street
      type: object
  responses:
    bad_request:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/error'
      description: BadRequest
    unauthorized:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/error'
      description: Unauthorized
    forbidden:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/error'
      description: Forbidden error
    internal_server_error:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/error'
      description: Internal server error
  securitySchemes:
    bearerAuth:
      bearerFormat: api_key
      scheme: bearer
      type: http

````