patch
https://sandbox-api-gtw.softpoint.io/api/locations//ach/tokens/
Updates the bank account and customer information associated with an existing ACH token. The token value itself does not change; only the underlying account details are replaced.
Request Headers
| Header | Required | Description |
|---|---|---|
| Authorization | Yes | Bearer YOUR_ACCESS_TOKEN |
| Content-Type | Yes | application/json |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
location_id | string | Yes | Identifier of the location that owns the token |
token | string | Yes | The ACH token whose data should be updated |
Request Body Parameters
All fields are optional unless required by the underlying processor (see Notes).
| Field | Type | Description |
|---|---|---|
customerName | string | Full name of the account holder |
customerFirstName | string | Account holder first name |
customerLastName | string | Account holder last name |
customerBankAccountType | string | Examples: checking, savings, general_ledger |
customerBankAccountClassification | string | Examples: personal_account, business |
customerBankAccountNumber | string | New bank account number |
customerBankRoutingNumber | string | ABA routing number |
customerBankName | string | Name of the banking institution |
customerAddress | string | Street address |
customerCity | string | City |
customerState | string | State (2-letter code) |
customerZipCode | string | ZIP or postal code |
customerCountry | string | Country |
customerPhone | string | Phone number |
customerEmail | string | Email address |
customerIdNumber | string | External customer ID |
customerDateOfBirth | string | Date of birth in YYYY-MM-DD format |
user_id | string | External caller's user ID |
guest_id | integer | Internal guest ID |
Response
200 — Success
{
"token": {
"customerBankRoutingNumber": "121000248",
"customerBankAccountLastFour": "****1561",
"customerBankAccountType": "checking",
"customerBankAccountClassification": "personal_account",
"customerFirstName": "Emma",
"customerLastName": "Taylor",
"customerAddress": "5418 Oak Ave",
"customerCity": "Denver",
"customerState": "CO",
"customerZipCode": "80202",
"customerCountry": "USA",
"customerPhone": "***-***-7551",
"customerEmail": "em****[email protected]"
}
}The response body contains a token object with the updated account details.
Response Fields
| Field | Type | Description |
|---|---|---|
token.customerBankRoutingNumber | string | ABA routing number |
token.customerBankAccountLastFour | string | Masked account number (last 4 digits visible) |
token.customerBankAccountType | string | Examples: checking, savings |
token.customerBankAccountClassification | string | Examples: personal_account, business |
token.customerFirstName | string | Updated account holder first name |
token.customerLastName | string | Updated account holder last name |
token.customerAddress | string | Updated street address |
token.customerCity | string | Updated city |
token.customerState | string | Updated state (2-letter code) |
token.customerZipCode | string | Updated ZIP code |
token.customerCountry | string | Updated country |
token.customerPhone | string | Partially masked phone number |
token.customerEmail | string | Partially masked email address |
404 — Token Not Found
{
"error": {
"code": 1234,
"name": "ach_generic",
"message": "ACH token not found",
"details": []
}
}400 — Processor Not Supported
Returned when the underlying processor does not support token updates.
{
"error": {
"code": 400,
"name": "ach_generic",
"message": "ACH account update is not implemented for this processor",
"details": []
}
}Notes
- Not all processors support this operation. A
400 Bad Requestresponse withach_genericindicates that updates are unsupported for the configured processor. - After a successful update, subsequent
GETrequests on the same token will reflect the updated account details. - The token value itself remains unchanged after an update.

