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

# Simulate Incoming ACH

> Simulate an incoming ACH.



## OpenAPI

````yaml POST /v1/simulate/ach/incoming_ach
openapi: 3.0.1
info:
  title: Lead Bank
  description: Lead Bank's APIs
  version: v1.0
servers:
  - url: https://api.sandbox.lead.bank
  - url: https://api.lead.bank
security:
  - bearerAuth: []
tags:
  - name: ACH
  - name: Account Number
  - name: OAuth
  - name: Events
  - name: Instant Payments
  - name: Lending
  - name: Simulation
  - name: Internal Transfer
  - name: Disbursement
  - name: Entity
  - name: Wire
  - name: Originator
  - name: Funding
  - name: Balances
  - name: Compliance
  - name: UserAccount
  - name: Blockchain Payment
paths:
  /v1/simulate/ach/incoming_ach:
    post:
      tags:
        - Simulation
      summary: Simulate Incoming ACH
      description: Simulate an incoming ACH.
      operationId: simulate-incoming-ach
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - account_number_id
                - sec_code
                - transaction_type
                - amount
                - currency_code
                - statement_descriptor
                - sender_name
                - sender_company_id
                - sender_routing_number
              properties:
                amount:
                  $ref: '#/components/schemas/Amount'
                currency_code:
                  $ref: '#/components/schemas/CurrencyCode'
                transaction_type:
                  $ref: '#/components/schemas/TransactionType'
                account_number_id:
                  $ref: '#/components/schemas/AccountNumberID'
                sec_code:
                  $ref: '#/components/schemas/OutgoingSecCode'
                statement_descriptor:
                  $ref: '#/components/schemas/StatementDescriptor'
                sender_name:
                  $ref: '#/components/schemas/SenderName'
                sender_company_id:
                  $ref: '#/components/schemas/SenderCompanyID'
                sender_routing_number:
                  $ref: '#/components/schemas/SenderRoutingNumber'
      responses:
        '200':
          description: Incoming ACH object created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimulateResponse'
        '400':
          description: Your request parameters did not validate.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '422':
          description: >-
            We couldn't parse your request body, please check that your request
            body is valid JSON.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
components:
  schemas:
    Amount:
      description: The amount of the transaction in cents.
      type: integer
      format: int64
      example: 5000
      minimum: 0
      maximum: 9900000000
    CurrencyCode:
      description: A three-letter currency code as defined in ISO 4217.
      type: string
      example: USD
      enum:
        - USD
    TransactionType:
      type: string
      description: ACH transaction type.
      example: credit
      enum:
        - credit
        - debit
    AccountNumberID:
      type: string
      description: The ID of the Lead Bank Account Number object.
      example: account_number_xyz123
      pattern: ^account_number_\w+$
    OutgoingSecCode:
      type: string
      description: |
        The Standard Entry Class, SEC, to code the outgoing ACH.
        Lead currently supports:
        * `CCD`: Corporate payment
        * `PPD`: Written authorization to initiate payment
        * `TEL`: Telephone initiated payment
        * `WEB`: Web initiated payment
        * `CIE`: Customer initiated entry
      example: WEB
      enum:
        - CCD
        - PPD
        - TEL
        - WEB
        - CIE
    StatementDescriptor:
      type: string
      description: >-
        The description you would like to appear on your customers’ statement.
        Maximum number of characters is 10.
      example: P2P Credit
      minLength: 1
      maxLength: 10
      pattern: ^(?!0+$)(?! +$)[\x20-\x7E]*$
    SenderName:
      type: string
      description: The name of the sender. Maximum number of characters is 16.
      example: Lorum Inc.
    SenderCompanyID:
      type: string
      description: The company id of the sender. Maximum number of characters is 10.
      example: 1234567890
    SenderRoutingNumber:
      type: integer
      format: int32
      description: The 9 digit routing number of the sender.
      example: 111122222
      minLength: 9
      maxLength: 9
    SimulateResponse:
      type: object
    APIError:
      type: object
      properties:
        code:
          type: string
          description: The error code.
        title:
          type: string
          description: The error title.
        detail:
          type: string
          description: A detailed error description.
        status:
          type: string
          description: The HTTP status code.
        invalid_parameters:
          type: array
          description: Invalid request parameters with reasons, if applicable.
          items:
            $ref: '#/components/schemas/InvalidParameterDetail'
        instance:
          type: string
          description: >-
            The object causing this specific occurrence of the error, if
            applicable.
    InvalidParameterDetail:
      type: object
      properties:
        parameter:
          type: string
          description: Which parameter is invalid.
          example: transaction_type
        reason:
          type: string
          description: Why the parameter is invalid.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````