# Submits an ACH invoice for processing

<span class="api-endpoint">POST {{<a href="#urlbases">baseURL</a>}}/pay-int-api/invoices/{{invoiceId}}/ach/submit</span>

Endpoint: POST /pay-int-api/invoices/{invoiceId}/ach/submit
Version: V1
Security: Bearer

## Path parameters:

  - `invoiceId` (string, required)
    The identifier of the invoice to submit.

## Header parameters:

  - `x-api-version` (string)

## Request fields (application/json):

  - `accountNumber` (string)
    Specifies the payment target's bank account number.
We recommend using `paymentMethodId` instead of `accountNumber`.
Example: 5413591081013511
    Example: 5413591081013511

  - `routingNumber` (string)
    Specifies the payment target's bank routing number.

Example: 026009593
    Example: 026009593

  - `accountType` (integer)
    Possible values:
| Value | Name |
|  --- | --- |
| 1 | Checking |
| 2 | Savings |

Example: 1
    Example: 1

  - `accountHolderType` (integer)
    Possible values:
| Value | Name |
|  --- | --- |
| 1 | Business |
| 2 | Personal |

Example: 1
    Example: 1

  - `firstName` (string)
    Indicates the customer's first name.

Example: Alexandro
    Example: Alexandro

  - `lastName` (string)
    Indicates the customer's last name.

Example: Peppared
    Example: Peppared

  - `companyName` (string)
    Indicates the name of the customer's company or organization.

Example: Peppared Street Cafe
    Example: Peppared Street Cafe

  - `email` (string)
    Indicates the customer's email.
Example: peppared@example.com
    Example: peppared@example.com

  - `mobilePhoneNumber` (string)
    Indicates the customer's mobile phone number.
Example: +14155552309
    Example: +14155552309

  - `smsNotification` (boolean)
    Specifies the customer is sent an SMS notification.
If `true`, the customer is sent an SMS notification.
If `false`, the customer is not sent an SMS notification.
Example: true
    Example: true

  - `addressLine1` (string)
    Indicates the street address.

Example: 21 E. Main Street
    Example: 21 E. Main Street

  - `addressLine2` (string)
    Specifies additional street address information.

Example: Office 3
    Example: Office 3

  - `city` (string)
    Specifies the name of the city.

Example: Chicago
    Example: Chicago

  - `stateId` (integer)
    Specifies the Flute US state or territory identifier code.
Example: 4
    Example: 4

  - `billingPostalCode` (string)
    Specifies the billing postal or ZIP code.
Examples:
60612
60612-0001
    Example: 60612

  - `savePaymentMethod` (boolean)

  - `authorizeBankWithdrawal` (boolean)

  - `authorizationConsentTimestamp` (string)
    Indicates the date-time (in an ISO 8601 date-time UTC format) when customer checked the authorization checkbox.

This is required for ACH compliance audit logging.

Examples: 2026-02-19T20:24:52.934Z
    Example: 2026-02-19T20:24:52.934Z

## Response 200 fields (application/json):

  - `success` (boolean)
    Indicates the payment was successfully submitted.
If `true`, the payment was successfully submitted.
If `false`, the payment was not successfully submitted..
Example: true
    Example: true

  - `paymentMethodCreated` (boolean)
    Indicates the payment method was created.
If `true`, the payment method was created.
If `false`, the payment method was not created.
Example: true
    Example: true

  - `customerInfoSaved` (boolean)
    Indicates the customer info was saved.
If `true`, the customer info was saved.
If `false`, the customer info was not saved.
Example: true
    Example: true

## Response 400 fields (application/json):

  - `details` (string)
    Indicates details about the error.

Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error
    Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)
    Indicates the source of the error.
Example: <Service>
    Example: <Service>

  - `exceptionType` (string)
    Indicates the error's exception type.

Example: FluentValidation.ValidationException
    Example: FluentValidation.ValidationException

  - `correlationId` (string)
    Indicates the correlation identifier.

Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef
    Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef

  - `entityId` (string)
    Indicates the entity identifier.
Example:
null

  - `errorCode` (string)
    Indicates the error code.
Example:
null

## Response 404 fields (application/json):

  - `details` (string)

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)

  - `exceptionType` (string)

  - `correlationId` (string)

  - `entityId` (string)

  - `errorCode` (string)

## Response 500 fields (application/json):

  - `details` (string)

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)

  - `exceptionType` (string)

  - `correlationId` (string)

  - `entityId` (string)

  - `errorCode` (string)

