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

# Create an ACH



## OpenAPI

````yaml api-reference/openapi-payments.json POST /ach
openapi: 3.1.0
info:
  contact:
    email: help@treasuryprime.com
    name: Treasury Prime Support
    url: https://support.treasuryprime.com
  summary: Banking APIs
  termsOfService: https://www.treasuryprime.com/policy/terms
  title: Payments
  version: 1.18.581-gbba3b1de
servers:
  - description: Production
    url: https://api.treasuryprime.com
  - description: Sandbox
    url: https://api.sandbox.treasuryprime.com
security:
  - basicAuth: []
  - apiKey: []
paths:
  /ach:
    post:
      tags:
        - ACH
      summary: Create an ACH
      requestBody:
        content:
          application/json:
            examples:
              example:
                summary: Example
                value:
                  account_id: acct_1234567890
                  amount: '100.00'
                  counterparty_id: cp_0987654321
                  direction: credit
                  sec_code: ccd
            schema:
              properties:
                account_id:
                  description: ID of the Account originating the transfer. Filterable.
                  type: string
                addenda:
                  description: >-
                    Additional payment-related information. Most uses will not
                    require this field; contact support at
                    help@treasuryprime.com to learn more. Currently only
                    supported for ACH transfers with the SEC code `CCD` and
                    `WEB`
                  items:
                    type: string
                  type: array
                amount:
                  description: Amount of money to transfer, with two decimal precision
                  pattern: ^-?[0-9]+[.][0-9][0-9]$
                  type: string
                bankdata:
                  description: >-
                    Optional arbitrary data that can be attached for the bank's
                    use
                  type: object
                batch_key:
                  deprecated: true
                  description: Batch configuration to use for payment
                  type: string
                counterparty_id:
                  description: >-
                    ID of the Counterparty receiving the transfer. Be sure that
                    the ach section of the Counterparty contains non-null
                    values. Filterable.
                  type: string
                description:
                  description: Optional description (maximum of 10 characters)
                  type: string
                direction:
                  description: >-
                    Direction of funds flow. One of `credit` (send money to your
                    counterparty) or `debit` (receive money from your
                    counterparty). Filterable.
                  type: string
                originator_name:
                  description: >-
                    Custom value for specifying the originating company name
                    (maximum of 16 characters). This field will be blank unless
                    explicitly set. This is only available to customers
                    partnered with certain banks
                  type: string
                sec_code:
                  description: >-
                    One of `ccd`, `ppd`, `tel`, `web`, `cie`, `arc`, or `boc`.
                    Specifies the transfer type, according to the ACH network
                  type: string
                sec_details:
                  description: >-
                    Optional supplemental fields required by certain SEC codes.
                    Applicable when sec_code is one of: arc, boc, cie, tel, or
                    web. The relevant sub-fields vary by sec_code — see the
                    sec_details object definition for per-code field
                    descriptions.
                  properties:
                    check_serial_number:
                      description: >-
                        ARC, BOC: Check serial number of the supporting document
                        for the entry.
                      type: string
                    individual_id_number:
                      description: >-
                        CIE: The accounting number by which the payor (the
                        consumer) is known to the payee (receiver/biller). (max
                        22 characters)
                      type: string
                    individual_name:
                      description: >-
                        CIE: Typically the name of the payor on whose behalf the
                        entry was transmitted. (max 15 characters)
                      type: string
                    payment_type:
                      description: >-
                        WEB,TEL: One of `recurring`, `single`, or `subsequent`.
                        An Originator of a debit entry must ensure that each
                        consumer debit authorization includes language clearly
                        stating whether the authorization obtained from the
                        Receiver is for a single entry, recurring entries, or
                        one or more subsequent entries initiated under the terms
                        of a standing authorization
                      type: string
                  type: object
                service:
                  description: >-
                    Either `standard` or `sameday`. Specifies same-day or
                    standard processing. Filterable.
                  type: string
                userdata:
                  description: Arbitrary data the user can attach to the object
                  type: object
              required:
                - amount
                - service
                - counterparty_id
                - account_id
                - id
                - sec_code
                - direction
        description: The ach to create
        required: true
      responses:
        '200':
          content:
            application/json:
              examples:
                example:
                  summary: Success
                  value:
                    account_id: acct_1234567890
                    amount: '100.00'
                    counterparty_id: cp_0987654321
                    created_at: '2017-11-02T11:55:14Z'
                    description: null
                    direction: credit
                    effective_date: '2017-11-03'
                    error: null
                    id: ach_1029384756
                    originator_name: null
                    scheduled_settlement: null
                    sec_code: ppd
                    service: standard
                    status: pending
                    updated_at: '2017-11-02T11:55:14Z'
                    userdata: null
              schema:
                properties:
                  account_id:
                    description: ID of the Account originating the transfer. Filterable.
                    type: string
                  addenda:
                    description: >-
                      Additional payment-related information. Most uses will not
                      require this field; contact support at
                      help@treasuryprime.com to learn more. Currently only
                      supported for ACH transfers with the SEC code `CCD` and
                      `WEB`
                    items:
                      type: string
                    type: array
                  amount:
                    description: Amount of money to transfer, with two decimal precision
                    pattern: ^-?[0-9]+[.][0-9][0-9]$
                    type: string
                  bank_id:
                    description: ID of the bank with which the object is associated
                    type: string
                  bankdata:
                    description: >-
                      Optional arbitrary data that can be attached for the
                      bank's use
                    type: object
                  batch_key:
                    deprecated: true
                    description: Batch configuration to use for payment
                    type: string
                  counterparty_id:
                    description: >-
                      ID of the Counterparty receiving the transfer. Be sure
                      that the ach section of the Counterparty contains non-null
                      values. Filterable.
                    type: string
                  description:
                    description: Optional description (maximum of 10 characters)
                    type: string
                  direction:
                    description: >-
                      Direction of funds flow. One of `credit` (send money to
                      your counterparty) or `debit` (receive money from your
                      counterparty). Filterable.
                    type: string
                  effective_date:
                    description: >-
                      The official effective date of the transaction, according
                      to the ACH network. Filterable.
                    type: string
                  error:
                    description: >-
                      If the ACH has been returned, this will contain the ACH
                      return reason code for this entry. For example, "R01"
                      would indicate insufficient funds
                    type: string
                  id:
                    description: Unique identifier for object
                    type: string
                  noc_change_code:
                    description: >-
                      If a notice of change has been received for this ACH, this
                      will contain the latest change code for this entry. For
                      example, "C02" would indicate incorrect routing number
                    type: string
                  noc_corrected_data:
                    description: >-
                      If a notice of change has been received for this ACH, this
                      will contain the latest corrected data for this entry. For
                      example, this field could contain a corrected routing
                      number
                    type: string
                  org_id:
                    description: ID of your organization. Filterable.
                    type: string
                  originator_name:
                    description: >-
                      Custom value for specifying the originating company name
                      (maximum of 16 characters). This field will be blank
                      unless explicitly set. This is only available to customers
                      partnered with certain banks
                    type: string
                  scheduled_settlement:
                    description: >-
                      A timestamp dictating the approximate time a debit ACH
                      hold will be released, and the debit ACH will be
                      considered settled. (only available when originating ACH
                      on Treasury Prime ledger accounts)
                    type: string
                  sec_code:
                    description: >-
                      One of `ccd`, `ppd`, `tel`, `web`, `cie`, `arc`, or `boc`.
                      Specifies the transfer type, according to the ACH network
                    type: string
                  sec_details:
                    description: >-
                      Optional supplemental fields required by certain SEC
                      codes. Applicable when sec_code is one of: arc, boc, cie,
                      tel, or web. The relevant sub-fields vary by sec_code —
                      see the sec_details object definition for per-code field
                      descriptions.
                    properties:
                      check_serial_number:
                        description: >-
                          ARC, BOC: Check serial number of the supporting
                          document for the entry.
                        type: string
                      individual_id_number:
                        description: >-
                          CIE: The accounting number by which the payor (the
                          consumer) is known to the payee (receiver/biller).
                          (max 22 characters)
                        type: string
                      individual_name:
                        description: >-
                          CIE: Typically the name of the payor on whose behalf
                          the entry was transmitted. (max 15 characters)
                        type: string
                      payment_type:
                        description: >-
                          WEB,TEL: One of `recurring`, `single`, or
                          `subsequent`. An Originator of a debit entry must
                          ensure that each consumer debit authorization includes
                          language clearly stating whether the authorization
                          obtained from the Receiver is for a single entry,
                          recurring entries, or one or more subsequent entries
                          initiated under the terms of a standing authorization
                        type: string
                    type: object
                  service:
                    description: >-
                      Either `standard` or `sameday`. Specifies same-day or
                      standard processing. Filterable.
                    type: string
                  status:
                    description: >-
                      Current status of the ACH transfer. Read-only. Possible
                      values: `pending`, `processing`, `sent`, `returned`,
                      `canceled`, `error`. Filterable.
                    type: string
                  trace_number:
                    description: >-
                      15 digit trace number assigned to the ACH when it was
                      originated. Not available at every bank. Filterable.
                    type: string
                  trace_suffix:
                    type: integer
                  userdata:
                    description: Arbitrary data the user can attach to the object
                    type: object
          description: The ach created
        '400':
          content:
            application/json:
              examples:
                insufficient-funds:
                  summary: Insufficient funds
                  value:
                    error: >-
                      ACH credit amount must not exceed the account's available
                      balance.
                invalid-ach:
                  summary: Invalid ACH
                  value:
                    error: >-
                      You are not authorized to send ACH transfers in this
                      direction. If you would like to request authorization,
                      please contact support.
          description: Failed to create ach
        '429':
          content:
            application/json:
              examples:
                ach-velocity:
                  summary: ACH velocity has been exceeded
                  value:
                    error: >-
                      You have reached your ACH 24 hour velocity limit. This
                      limit exists for your safety. If you would like to raise
                      (or lower) your limit, please contact support.
          description: Failed to create ach
components:
  securitySchemes:
    basicAuth:
      scheme: basic
      type: http
    apiKey:
      bearerFormat: JWT
      scheme: bearer
      type: http

````