---
title: "Update an ACH"
method: PATCH
path: "/v1/ach/{ach_id}"
tags: ["ACH"]
---

# Update an ACH

`PATCH /v1/ach/{ach_id}`

Update an ACH object.

## Path parameters

- `ach_id` string, required

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `metadata` Metadata, required — A set of key-value pairs that can be used to store additional information related to this object.

## Response `200`

The updated ACH object.

- Ach
  - `id` string — id of the ACH object
  - `created_at` string, date-time — The ISO-8601 timestamp at which the ACH object was created.
  - `updated_at` string, date-time — The ISO-8601 timestamp at which the ACH object was last updated.
  - `status` 'scheduled' | 'processing' | 'submitted' | 'posted' | 'canceled' | 'under_review' | 'approved' | 'rejected' | 'pending_return' | 'returned' | 'pending_dishonored_return' | 'return_dishonored' | 'pending_contested_return' | 'return_contested' — The current status of the ACH object.
  - `amount` integer — The amount of the transaction in cents.
  - `account_id` string — The ID of the Account object.
  - `account_number_id` string — The ID of the Lead Bank Account Number object.
  - `direction` 'outgoing' | 'incoming' — Who is initiating the transaction. outgoing: You are sending a transaction to a counterparty. incoming: You are receiving a transaction from a counterparty.
  - `delivery_type` 'same_business_day' | 'next_business_day' — How fast you want the counterparty to receive the ACH. * `same_business_day`: if the ACH request is submitted before the cutoff window with the same business day option, funds will settle on the same day. * `next_business_day`: standard ACH processing, for funds to settle on the next business day.
  - `transaction_type` 'credit' | 'debit' — ACH transaction type.
  - `sec_code` 'PPD' | 'CCD' | 'ARC' | 'BOC' | 'CIE' | 'CTX' | 'IAT' | 'POP' | 'POS' | 'RCK' | 'TEL' | 'WEB' | 'ADV' | 'DNE' | 'ENR' | 'MTE' | 'SHR' | 'TRC' | 'TRX' | 'COR' — Standard Entry Class (SEC) code to use for this ACH object. Lead currently only supports `CCD`, `PPD`, `WEB`, and `TEL` for outgoing ACHes.
  - `currency_code` 'USD' — A three-letter currency code as defined in ISO 4217.
  - `statement_descriptor` string — The description you would like to appear on your customers’ statement. Maximum number of characters is 10.
  - `record_details` object
    - `transaction_code` 'checking_credit' | 'checking_credit_prenote' | 'checking_debit' | 'checking_debit_prenote' | 'savings_credit' | 'savings_credit_prenote' | 'savings_debit' | 'savings_debit_prenote' — Identifies the type of debit or credit Entry and the account type
    - `company_name` string — The company that initiated the outgoing ACH. - For outgoing ACH, this value is set from the Account Number object. - For incoming ACH, this value is what we receive from the sender.
    - `company_id` string — A 10-digit unique identifier used for identify companies collecting payments via ACH debit. If you would like to use a specific company ID when sending outgoing ACH, please contact us. - For outgoing ACH, this value is set from the Account Number object. - For incoming ACH, this value is what we receive from the sender.
    - `company_discretionary_data` string — Additional information from the ACH sender on incoming ACHes.
    - `effective_date` string — The date the ACH transaction is expected to settle with the financial institution. - For outgoing ACH, the date is set by Lead based on the delivery_type field. - For incoming ACH, this value is what we receive from the sender.
    - `settlement_date` string — Date by which funds must be posted to the counterparty's account.
    - `individual_id` string — The name of the individual you are sending funds to. _Required for P2P payments._
    - `receiver_name` string — The name of the receiver of funds. _Note: This field is set by the counterparty and may or not be accurate._
    - `descriptive_date` string — The date you would like displayed to the counterparty. *Receiving financial institutions may utilize this field to display on the statement.*
    - `additional_information` string — Additional information for the ACH recipient. _Not all banks will share this message with their end customer._
    - `trace_number` string — The unique number assigned to every ACH entry by an ODFI which identifies that entry within a specific ACH file. - For outgoing ACH, this is generated by Lead when we submit the ACH. - For incoming ACH, this value is what we receive from the sender.
  - `counterparty` Counterparty — The details of the counterparty you are sending/receiving money from.
    - `name` string, required — The name of the counterparty you are transacting with.
    - `account_number` string, required — The account number for the bank account.
    - `routing_number` string, required — The routing number for the bank account. This should be the ACH routing number, not the wire routing number.
    - `account_type` 'checking' | 'savings', required — The account type for the bank account. This should be one of checking or savings.
  - `returns` Return[] — Associated returns.
    - `type` 'return' | 'dishonored_return' | 'contested_return' — Type of the return record, determined by the respective return code.
    - `status` 'scheduled' | 'processing' | 'submitted' | 'posted' | 'canceled' | 'under_review' | 'approved' | 'rejected' | 'pending_return' | 'returned' | 'pending_dishonored_return' | 'return_dishonored' | 'pending_contested_return' | 'return_contested' — The current status of the ACH object.
    - `return_code` 'R01' | 'R02' | 'R03' | 'R04' | 'R05' | 'R06' | 'R07' | 'R08' | 'R09' | 'R10' | 'R11' | 'R12' | 'R13' | 'R14' | 'R15' | 'R16' | 'R17' | 'R18' | 'R19' | 'R20' | 'R21' | 'R22' | 'R23' | 'R24' | 'R25' | 'R26' | 'R27' | 'R28' | 'R29' | 'R30' | 'R31' | 'R32' | 'R33' | 'R34' | 'R35' | 'R36' | 'R37' | 'R38' | 'R39' | 'R40' | 'R41' | 'R42' | 'R43' | 'R44' | 'R45' | 'R46' | 'R47' | 'R50' | 'R51' | 'R52' | 'R53' | 'R61' | 'R62' | 'R67' | 'R68' | 'R69' | 'R70' | 'R71' | 'R72' | 'R73' | 'R74' | 'R75' | 'R76' | 'R77' | 'R80' | 'R81' | 'R82' | 'R83' | 'R84' | 'R85' — NACHA Return codes.
    - `return_reason` string — Short description of the associated return code.
    - `trace_number` string — The unique number assigned to this ACH return by the ODFI, which identifies the entry within a specific ACH file.
    - `additional_information` string — Based on the associated return code, if the content is provided by the parties, the additional information field in the ACH addenda.
  - `reversal` object — A reversal associated with this object.
    - `reversal_reason` 'duplicate' | 'receiver_incorrect' | 'amount_incorrect' | 'debit_too_early' | 'credit_too_late' — Reason you want to initiate a reversal.
    - `linked_ach_id` string — Id of the reversal object.
  - `rejection` RejectionReason
    - `reason` string — The rejection code that indicates the type of rejection
    - `details` string — Additional info about the rejection
  - `correction` AchCorrection — The corrected `counterparty` details.
    - `account_number` string — The updated account number for the `counterparty`.
    - `routing_number` string — The updated routing number for the `counterparty`.
    - `account_type` 'checking' | 'savings' — The updated account type for the `counterparty`.
  - `metadata` Metadata — A set of key-value pairs that can be used to store additional information related to this object.
  - `iat_details` IatDetails — IAT (International ACH Transaction) specific details. Present only when sec_code is IAT.
    - `transaction_type_code` 'annuity' | 'business' | 'deposit' | 'loan' | 'miscellaneous' | 'mortgage' | 'pension' | 'rental_lease' | 'salary' | 'tax' | 'telephone' | 'internet' | 'accounts_receivable' | 'back_office_conversion' | 'point_of_purchase' | 'represented_check' — Identifies the purpose of the IAT transaction.
    - `destination_country` string — ISO 3166-1 alpha-2 country code identifying the destination country of the transaction.
    - `originator_currency_code` string — ISO 4217 three-letter currency code in which the ACH was originated.
    - `destination_currency_code` string — ISO 4217 three-letter currency code in which the ACH will be received.
    - `foreign_trace_number` string — Trace number assigned to the Entry in the originating national payments system. Only present for inbound IAT entries.
    - `additional_information` string — Additional information for the ACH recipient. _Not all banks will share this message with their end customer._
    - `originator` IatParty — Name and address of a party to an IAT transaction, in NACHA format.
      - `name` string — Name of the party.
      - `street_address` string — Physical street address of the party.
      - `city_state_province` string — City and state or province of the party. Max 35 characters
      - `country_postal_code` string — Country code and postal code of the party. Country code is ISO 3166-1 alpha-2. Max 35 characters.
    - `originating_financial_institution` IatFinancialInstitution — Financial institution details for an IAT transaction.
      - `name` string — Name of the financial institution.
      - `identifier_type` 'national_clearing_system' | 'business_identifier_code' | 'iban' — Type of bank identifier
      - `identifier_code` string — The identifier value for the financial institution, corresponding to the `identifier_type` (e.g., SWIFT BIC, routing number, IBAN).
      - `branch_country` string — ISO 3166-1 alpha-2 country code for the branch country of the financial institution.
    - `receiver` IatReceiver — Name, reference number, and address of the receiver of an IAT transaction.
      - `name` string — Name of the receiver or beneficiary of the transaction.
      - `reference_number` string — Reference number assigned by the originator for tracking this receiver or payment.
      - `street_address` string — Physical street address of the receiver.
      - `city_state_province` string — City and state or province of the receiver. Max 35 characters.
      - `country_postal_code` string — Country code and postal code of the receiver. Country code is ISO 3166-1 alpha-2. Max 35 characters.
    - `receiving_financial_institution` IatFinancialInstitution — Financial institution details for an IAT transaction.
      - `name` string — Name of the financial institution.
      - `identifier_type` 'national_clearing_system' | 'business_identifier_code' | 'iban' — Type of bank identifier
      - `identifier_code` string — The identifier value for the financial institution, corresponding to the `identifier_type` (e.g., SWIFT BIC, routing number, IBAN).
      - `branch_country` string — ISO 3166-1 alpha-2 country code for the branch country of the financial institution.
    - `foreign_correspondent_banks` IatFinancialInstitution[] — Intermediary or correspondent banks in the payment chain. Up to 5 banks may be listed.
      - `name` string — Name of the financial institution.
      - `identifier_type` 'national_clearing_system' | 'business_identifier_code' | 'iban' — Type of bank identifier
      - `identifier_code` string — The identifier value for the financial institution, corresponding to the `identifier_type` (e.g., SWIFT BIC, routing number, IBAN).
      - `branch_country` string — ISO 3166-1 alpha-2 country code for the branch country of the financial institution.

## Other responses

- `400` — Your request parameters did not validate.
- `404` — ach_id passed in is not a valid external ACH object.

---

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