# Submit ACH payment request

To submit the ACH payment request:

{% stepper %}
{% step %}
Use the POST method with the `/rest/v2/ach/transactions` endpoint and the following sample request:

{% code lineNumbers="true" %}

```json
{ 
  "check-field": "invoice", 
  "client-ip": "111.22.22.333", 
  "dob-year": "dob-year", 
  "email-receipt": "true", 
  "software-type-version": "1.0", 
  "type": "Debit", 
  "validate-account": "true", 
  "amount": "string", 
  "routing-number": "string", 
  "account-number": "string", 
  "account-type": "Checking", 
  "standard-entry-class-code": "PPD", 
  "check-number": "string", 
  "create-token": "false", 
  "create-description": "false", 
  "individual-name": "string", 
}
```

{% endcode %}

The following table describes the request body parameters:

<table><thead><tr><th width="152.33331298828125" valign="top">Name</th><th width="116" valign="top">Data type</th><th width="123.666748046875" valign="top">Required?</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top"><code>check-field</code></td><td valign="top">String</td><td valign="top">Optional</td><td valign="top">Specifies the field for check identification. For example, invoice.</td></tr><tr><td valign="top"><code>client-ip</code></td><td valign="top">Integer</td><td valign="top">Optional</td><td valign="top">The IP address of the client initiating the request. For example, 111.22.22.333</td></tr><tr><td valign="top"><code>dob-year</code></td><td valign="top">Integer</td><td valign="top">Optional</td><td valign="top">The customer's year of birth.</td></tr><tr><td valign="top"><code>email-receipt</code></td><td valign="top">Boolean</td><td valign="top">Optional</td><td valign="top">Indicates whether to send an email receipt.</td></tr><tr><td valign="top"><code>software-type-version</code></td><td valign="top">Integer</td><td valign="top">Optional</td><td valign="top">The version of the specification used to initiate the transaction.</td></tr><tr><td valign="top"><code>type</code></td><td valign="top">String</td><td valign="top">Optional</td><td valign="top">The type of ACH transaction.</td></tr><tr><td valign="top"><code>validate-account</code></td><td valign="top">Boolean</td><td valign="top">Optional</td><td valign="top">Indicates whether to validate the bank account.</td></tr><tr><td valign="top"><code>amount</code></td><td valign="top">String</td><td valign="top">Optional</td><td valign="top">The transaction amount.</td></tr><tr><td valign="top"><code>routing-number</code></td><td valign="top">String</td><td valign="top">Optional</td><td valign="top">The bank routing number.</td></tr><tr><td valign="top"><code>account-number</code></td><td valign="top">String</td><td valign="top">Optional</td><td valign="top">The bank account number.</td></tr><tr><td valign="top"><code>account-type</code></td><td valign="top">String</td><td valign="top">Optional</td><td valign="top">The type of bank account.</td></tr><tr><td valign="top"><code>standard-entry-class-code</code></td><td valign="top">String</td><td valign="top">Optional</td><td valign="top">The ACH standard entry class code.</td></tr><tr><td valign="top"><code>check-number</code></td><td valign="top">String</td><td valign="top">Optional</td><td valign="top">The check number associated with the transaction.</td></tr><tr><td valign="top"><code>create-token</code></td><td valign="top">Boolean</td><td valign="top">Optional</td><td valign="top">Indicates whether to create a reusable token.</td></tr><tr><td valign="top"><code>create-description</code></td><td valign="top">Boolean</td><td valign="top">Optional</td><td valign="top">Indicates whether to create a transaction description.</td></tr><tr><td valign="top"><code>individual-name</code></td><td valign="top">String</td><td valign="top">Optional</td><td valign="top">The name of the individual associated with the transaction.</td></tr></tbody></table>
{% endstep %}
{% endstepper %}

The `ach-transaction` returns the following status and error codes:

<table><thead><tr><th width="120.00006103515625">Code</th><th>Description</th></tr></thead><tbody><tr><td>401</td><td>If the authentication token has expired or the signature does not match the token.</td></tr><tr><td>500</td><td>If the request is invalid—for example, if the routing number contains letters.</td></tr></tbody></table>
