Accounts and Cards

Switch Product

Use the Switch Product endpoint to change the product ID on the specified account to a new product ID. To control whether the product switch triggers a card reissue, set doReissue.

For prodId pass the new product ID. This endpoint is valid only for card-account products. For products that do not have a card, use <a href="ref:post_setaccountfeature" target="_blank">Set Account Feature</a> with type: 3 to switch products.

SoFi Tech Solutions recommends that you use the <glossary:CAD> for accountNo; however, you can use the <glossary:PRN> if only one card has ever been associated with the account.

For instructions on using this endpoint, see the <a href="doc:switching-products" target="_blank">Switching Products</a> guide.

📘 Note

The expiry_date and card_security_code (CVV2) that are returned by the endpoint are not the new values. The new values are generated later by the emboss process. Call <a href="ref:post_getcard" target="_blank">Get Card</a> to retrieve the new values <a href="doc:switching-products#after-the-endpoint-response" target="_blank">after the emboss process has run</a>.

post/switchProduct

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/switchProduct
  • 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>, <glossary:PAN> or <glossary:CAD> of the account. Pattern: PAN, PRN, or CAD Example: "074103447228"

prodIdinteger required

The new product ID for the account. Pattern: Integer Example: 4444

doReissue'Y' | 'N'

Controls whether to reissue the card. Default: "N". Pattern: String Example: "Y"

newPan'Y' | 'N' nullable

Controls whether to generate a new PAN for the reissued card. Pattern: String Example: "Y"

newExpiryDate'Y' | 'N' nullable

Controls whether to generate a new expiry date for the reissued card. If newPan: Y then this value must be "Y". Pattern: String Example: "Y"

emboss'Y' | 'N' nullable

Controls whether to emboss the reissued card. Pattern: String Example: "Y"

oldCardStatus'C' | 'D' nullable

Specifies the status to set for the card that is being replaced. Status is set by the emboss process. Default: blank Pattern: String or blank Example: "D"

Example request

{
  "apiLogin": "AbC123-9999",
  "apiTransKey": "4sb62fh6w4h7w34g",
  "providerId": 9999,
  "transactionId": "123e4567-e89b-12d3-a456-426614174000",
  "accountNo": "074103447228",
  "prodId": 4444,
  "doReissue": "Y",
  "newPan": "Y",
  "newExpiryDate": "Y",
  "emboss": "Y",
  "oldCardStatus": "D"
}

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.