---
title: "Validate ACH transaction"
method: POST
path: "/rest/v2/ach/transactions/validate"
tags: ["ACH Transactions"]
---

# Validate ACH transaction

`POST /rest/v2/ach/transactions/validate`

Validate the ACH bank account without creating or submitting a transaction.

## Headers

- `api-key` string, required

## Request body

- AchTransaction — This model represents the ach transaction in the response
  - `type` 'Debit' | 'Credit', required — Type of the ACH transaction.
  - `amount` string — The transaction amount.
  - `status` 'Pending' | 'Settling' | 'Settled' | 'Returned' | 'Writing' | 'Declined' | 'Not_Confirmed' | 'Sent' | 'Rejected' | 'Funded' | 'Partially_Funded' | 'Completed' — Current status of the ACH transaction. Possible values: Pending, Settling, Settled, Returned.
  - `routing-number` string, required — Bank routing number associated with the transaction.
  - `account-number` string, required — Last four digits of the bank account number.
  - `account-type` 'Checking' | 'Savings', required — Type of bank account.
  - `standard-entry-class-code` 'PPD', required — ACH Standard Entry Class (SEC) code. For example, PPD.
  - `individual-name` string — Name associated with the bank account.
  - `id` string — Unique identifier of the ACH transaction.
  - `check-status` 'Pending' | 'Rejected' | 'Debit Sent' | 'Cancelled' | 'Credit Sent' | 'Unprocessed' — Check status of the ACH transaction. Possible values: Pending, Rejected, Debit Sent, Cancelled.
  - `funding-status` 'Pending' | 'No Credit' | 'Credit Sent' | 'Chargeback' | 'Debit Sent' | 'Unprocessed' — Funding status of the ACH transaction. Possible values: Pending, No Credit, Credit Sent, Chargeback.
  - `invoice` string — Invoice number associated with the transaction.
  - `check-number` string — Check number used for duplicate transaction validation.
  - `billing` Address — Contains the customer's billing address details.
    - `company` string — Company name associated with the billing address.
    - `street` string — Primary street address for the billing.
    - `street2` string — Secondary street address information, if available.
    - `city` string — City associated with the billing address.
    - `state` string — State or province of the billing address.
    - `zip` string — ZIP or postal code of the billing address.
    - `country` string — Country of the billing address.
    - `phone` string — Phone number associated with the billing address.
    - `first-name` string — First name of the billing contact.
    - `last-name` string — Last name of the billing contact.
  - `shipping` Address — Contains the customer's billing address details.
    - `company` string — Company name associated with the billing address.
    - `street` string — Primary street address for the billing.
    - `street2` string — Secondary street address information, if available.
    - `city` string — City associated with the billing address.
    - `state` string — State or province of the billing address.
    - `zip` string — ZIP or postal code of the billing address.
    - `country` string — Country of the billing address.
    - `phone` string — Phone number associated with the billing address.
    - `first-name` string — First name of the billing contact.
    - `last-name` string — Last name of the billing contact.
  - `purchase-order` string — Purchase order number.
  - `order-id` string — A merchant-defined order identifier.
  - `status-change-date` string — Date and time when the transaction status last changed (UTC).
  - `customer-id` string — A merchant-defined customer identifier.
  - `email-address` string — The customer's email address.
  - `description` string — Short description of the transaction.
  - `comments` string — Additional comments associated with the transaction.
  - `billing-is-shipping` 'true' | 'false' — Indicates whether the billing and shipping addresses are the same.
  - `display-message` string — A message describing the transaction status.
  - `provider-transaction-id` string — Transaction identifier assigned by the ACH provider.
  - `trace-number` string — ACH trace number associated with a settled or returned transaction.
  - `settled-date` string — Date and time when the transaction was settled (UTC).
  - `returned-date` string — Date and time when the transaction was returned (UTC).
  - `returned-code` string — NACHA return code for a returned transaction.
  - `returned-message` string — The description of the return reason.
  - `ach-token` AchTokenResponse — Tokenized ACH account information.
    - `token-id` string — Unique identifier of the ACH token.
    - `times-used` integer — Number of times the token has been used in an ACH transaction.
    - `last-used` string — Date and time when the token was last used (UTC).
    - `merchant-id` string — The merchant's unique identification number associated with the token.
    - `routing-number` string — Bank routing number
    - `account-number` string — Masked or last four digits of the bank account number.
    - `account-type` 'Checking' | 'Savings' — Type of the bank account. Possible values: Checking, Savings.
    - `individual-name` string — Name associated with the bank account.
    - `token-description` string — A brief description of the ACH token.
    - `created` string — Date and time when the token was created (UTC).
    - `updated` string — Date and time when the token was last updated (UTC).
    - `customer-key` string — Unique customer key associated with the token.
    - `default` boolean — Indicates whether this token is the default for the card number.
  - `merchant-id` string — The merchant identifier associated with the token.
  - `terminal-id` string — Identifier of the terminal or API key used to create the transaction.
  - `software-type` string — Name of the software application that submitted the transaction.
  - `paya-authorization` string — Authorization reference returned by the Paya.
  - `processing-type` string — Processing type of the transaction.
  - `external-transaction-reference` string — Identifies the transaction reference provided by the requester and must be unique per requester.
  - `execution-date` string — Date when the ACH transaction is executed.
  - `token-id` string — Identifier for the ACH payment token.
  - `create-date` string — Date when the ACH transaction was created.
  - `micr-data` string — Contains the MICR data printed on the check.
  - `image-front-edoc-id` string — eDocs document ID for the front image of the check.
  - `image-back-edoc-id` string — eDocs document ID for the back image of the check.
  - `image-front` string — Check's front image as Base64.
  - `image-back` string — Check's back image as Base64.

## Response `200`

ok

- AchTransactionResponsePayload — Payload
  - `ach-transaction` AchTransaction — This model represents the ach transaction in the response
    - `type` 'Debit' | 'Credit', required — Type of the ACH transaction.
    - `amount` string — The transaction amount.
    - `status` 'Pending' | 'Settling' | 'Settled' | 'Returned' | 'Writing' | 'Declined' | 'Not_Confirmed' | 'Sent' | 'Rejected' | 'Funded' | 'Partially_Funded' | 'Completed' — Current status of the ACH transaction. Possible values: Pending, Settling, Settled, Returned.
    - `routing-number` string, required — Bank routing number associated with the transaction.
    - `account-number` string, required — Last four digits of the bank account number.
    - `account-type` 'Checking' | 'Savings', required — Type of bank account.
    - `standard-entry-class-code` 'PPD', required — ACH Standard Entry Class (SEC) code. For example, PPD.
    - `individual-name` string — Name associated with the bank account.
    - `id` string — Unique identifier of the ACH transaction.
    - `check-status` 'Pending' | 'Rejected' | 'Debit Sent' | 'Cancelled' | 'Credit Sent' | 'Unprocessed' — Check status of the ACH transaction. Possible values: Pending, Rejected, Debit Sent, Cancelled.
    - `funding-status` 'Pending' | 'No Credit' | 'Credit Sent' | 'Chargeback' | 'Debit Sent' | 'Unprocessed' — Funding status of the ACH transaction. Possible values: Pending, No Credit, Credit Sent, Chargeback.
    - `invoice` string — Invoice number associated with the transaction.
    - `check-number` string — Check number used for duplicate transaction validation.
    - `billing` Address — Contains the customer's billing address details.
      - `company` string — Company name associated with the billing address.
      - `street` string — Primary street address for the billing.
      - `street2` string — Secondary street address information, if available.
      - `city` string — City associated with the billing address.
      - `state` string — State or province of the billing address.
      - `zip` string — ZIP or postal code of the billing address.
      - `country` string — Country of the billing address.
      - `phone` string — Phone number associated with the billing address.
      - `first-name` string — First name of the billing contact.
      - `last-name` string — Last name of the billing contact.
    - `shipping` Address — Contains the customer's billing address details.
      - `company` string — Company name associated with the billing address.
      - `street` string — Primary street address for the billing.
      - `street2` string — Secondary street address information, if available.
      - `city` string — City associated with the billing address.
      - `state` string — State or province of the billing address.
      - `zip` string — ZIP or postal code of the billing address.
      - `country` string — Country of the billing address.
      - `phone` string — Phone number associated with the billing address.
      - `first-name` string — First name of the billing contact.
      - `last-name` string — Last name of the billing contact.
    - `purchase-order` string — Purchase order number.
    - `order-id` string — A merchant-defined order identifier.
    - `status-change-date` string — Date and time when the transaction status last changed (UTC).
    - `customer-id` string — A merchant-defined customer identifier.
    - `email-address` string — The customer's email address.
    - `description` string — Short description of the transaction.
    - `comments` string — Additional comments associated with the transaction.
    - `billing-is-shipping` 'true' | 'false' — Indicates whether the billing and shipping addresses are the same.
    - `display-message` string — A message describing the transaction status.
    - `provider-transaction-id` string — Transaction identifier assigned by the ACH provider.
    - `trace-number` string — ACH trace number associated with a settled or returned transaction.
    - `settled-date` string — Date and time when the transaction was settled (UTC).
    - `returned-date` string — Date and time when the transaction was returned (UTC).
    - `returned-code` string — NACHA return code for a returned transaction.
    - `returned-message` string — The description of the return reason.
    - `ach-token` AchTokenResponse — Tokenized ACH account information.
      - `token-id` string — Unique identifier of the ACH token.
      - `times-used` integer — Number of times the token has been used in an ACH transaction.
      - `last-used` string — Date and time when the token was last used (UTC).
      - `merchant-id` string — The merchant's unique identification number associated with the token.
      - `routing-number` string — Bank routing number
      - `account-number` string — Masked or last four digits of the bank account number.
      - `account-type` 'Checking' | 'Savings' — Type of the bank account. Possible values: Checking, Savings.
      - `individual-name` string — Name associated with the bank account.
      - `token-description` string — A brief description of the ACH token.
      - `created` string — Date and time when the token was created (UTC).
      - `updated` string — Date and time when the token was last updated (UTC).
      - `customer-key` string — Unique customer key associated with the token.
      - `default` boolean — Indicates whether this token is the default for the card number.
    - `merchant-id` string — The merchant identifier associated with the token.
    - `terminal-id` string — Identifier of the terminal or API key used to create the transaction.
    - `software-type` string — Name of the software application that submitted the transaction.
    - `paya-authorization` string — Authorization reference returned by the Paya.
    - `processing-type` string — Processing type of the transaction.
    - `external-transaction-reference` string — Identifies the transaction reference provided by the requester and must be unique per requester.
    - `execution-date` string — Date when the ACH transaction is executed.
    - `token-id` string — Identifier for the ACH payment token.
    - `create-date` string — Date when the ACH transaction was created.
    - `micr-data` string — Contains the MICR data printed on the check.
    - `image-front-edoc-id` string — eDocs document ID for the front image of the check.
    - `image-back-edoc-id` string — eDocs document ID for the back image of the check.
    - `image-front` string — Check's front image as Base64.
    - `image-back` string — Check's back image as Base64.
  - `payloadType` string — Type of the payload returned in the response.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

[API](https://skmtc.net/xplorpay/apis/external-us-onboarding-workflow.md) · [All operations](https://skmtc.net/xplorpay/apis/external-us-onboarding-workflow/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/xplorpay/external-us-onboarding-workflow/revisions/f37077c24b66/schema)
