Transactions

Add ACH Account

Use the Add ACH Account endpoint to add an ACH account to the specified customer account. If you are integrated with Plaid, set the RPVIR parameter to 1 to receive plaid_identity_values in the response. Use this endpoint to add external accounts that belong to individuals. For accounts that belong to companies, use the <a href="ref:post_addachaccountcorporate" target="_blank">Add ACH Account Corporate</a> endpoint.

post/addAchAccount

Request

  • Base URL
    api-{corename}.{env}.gpsrv.com/intserv/4.0/ (relative, and the document’s source URL is not known)
  • URL
    api-{corename}.{env}.gpsrv.com/intserv/4.0/addAchAccount
  • Auth
    none declared

Request body application/x-www-form-urlencoded

apiLoginstring required

Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: "AbC123-9999"

apiTransKeystring required

Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: "4sb62fh6w4h7w34g"

providerIdinteger required

Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: 9999

transactionIdstring required

Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for <a href="ref:idempotency#endpoints-that-use-transactionid-for-idempotency" target="_blank">idempotency</a>. A UUID is preferred. Pattern: Maximum 60 characters Example: "9845dk-39fdk3fj3-4483483478"

accountNostring required

The <glossary:PRN> or <glossary:PAN> of the account. Pattern: PAN or PRN Example: "074103447228"

namestring nullable

The display name of the external account. This field is required unless processorToken is populated. Pattern: 1–22 <a href="ref:api-reference-special-characters#ach-name-parameters" target="_blank">supported characters</a> Example: "Yellowbank account"

type'C' | 'S' | 'M' nullable

Type of the external bank account. Required when processorToken is not populated:

  • C — Checking
  • S — Savings
  • M — Money market

Pattern: String Example: "C"

achAccountNostring nullable

External bank account number. Required when processorToken is not populated. Pattern: Up to 22 numerals Example: "4483434234348"

achRoutingNostring nullable

Routing number for the external bank where achAccountNo is housed. Required when processorToken is not populated. Pattern: Exactly 9 digits Example: "124001545"

firstNamestring nullable

Required. First name(s) of the external account holder. Only the first 9 characters of this field are present in the outgoing <<glossary:Nacha file>>. Pattern: 1–40 <a href="ref:api-reference-special-characters#ach-name-parameters" target="_blank">supported characters</a> Example: "Maricela Elena"

lastNamestring nullable

Required. Last name(s) of the external account holder. Only the first 12 characters of this field are present in the outgoing Nacha file. Pattern: 1–40 <a href="ref:api-reference-special-characters#ach-name-parameters" target="_blank">supported characters</a> Example: "Garcia Castro"

locationstring nullable

Unique location identifier (location) as returned by the <a href="ref:post_createlocation" target="_blank">Create Location</a> endpoint. This value is also returned by the <a href="ref:post_getlocations" target="_blank">Get Locations</a> endpoint depending on the value of locationType when the location was created:

  • 0 or 2 — Returned in the location_id field
  • 1 — Returned in the provider_specified_id field

Pattern: Integer if locationType: 0 or locationType: 2; max 15 characters if locationType: 1 Example: "a455-3483"

locationType0 | 1 | 2 nullable

Type of ID in location:

  • 0 — SoFi Tech Solutions location ID
  • 1 — Partner location ID
  • 2 — Don't validate

Pattern: Integer Example: 1

processorTokenstring nullable

Obtained from Plaid if using Plaid integration. When passing this token it is not necessary to pass achAccountNumber, achRoutingNumber, name, or type. If you are not using Plaid, do not send this parameter with an empty or null value. Pattern: String Example: "processor-production-35cd43b-adfc-d8aa-b331-c9ba0fdha881"

verifyIdentity0 | 1

If processorToken is populated, pass 1 to call the Plaid identity endpoint for account-holder verification. Pattern: Integer Example: 0

Example request

{
  "apiLogin": "AbC123-9999",
  "apiTransKey": "4sb62fh6w4h7w34g",
  "providerId": 9999,
  "transactionId": "123e4567-e89b-12d3-a456-426614174000",
  "accountNo": "074103447228",
  "name": "Yellowbank account",
  "type": "C",
  "achAccountNo": "4483434234348",
  "achRoutingNo": "124001545",
  "firstName": "Maricela Elena",
  "lastName": "Garcia Castro",
  "location": "a455-3483",
  "locationType": 1,
  "processorToken": "processor-production-35cd43b-adfc-d8aa-b331-c9ba0fdha881"
}

Response

status_codeinteger nullable required

The response status code. May return a string for some statuses.

statusstring nullable required

The condition of a process or response

processing_timenumber float nullable required

The time elapsed in processing the transaction

system_timestampstring date-time nullable required

A system generated timestamp

rtokenstring nullable required

A system-generated ID used for tracking

errorsstring[]

A list of errors generated while the request was processed

Changes

No recorded changes to this operation across all 2 revisions of this API.