---
title: "Switch Product"
method: POST
path: "/switchProduct"
tags: ["Accounts and Cards"]
---

# Switch Product

`POST /switchProduct`

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>.

## Response `default`

- object
  - `status_code` integer, nullable, required — The response status code. May return a string for some statuses.
  - `status` string, nullable, required — The condition of a process or response
  - `processing_time` number, float, nullable, required — The time elapsed in processing the transaction
  - `echo` object, nullable, required — A structure that contains transaction ID information
    - `transaction_id` string, nullable, required — An ID that represents an API transaction
    - `provider_timestamp` string, date-time, nullable, required — Store a related timestamp for reporting and troubleshooting purposes
    - `provider_transaction_id` string, nullable, required — Secondary transaction identifier (generated by a provider)
  - `system_timestamp` string, date-time, nullable, required — A system generated timestamp
  - `rtoken` string, nullable, required — A system-generated ID used for tracking
  - `errors` string[] — A list of errors generated while the request was processed
  - `response_data` object, nullable, required — A structure for the response data. It can be empty but usually will contain information.
    - `prod_id` integer, required — Identifier for the card's product
    - `app_date` string, nullable, required — Date the account's application was submitted
    - `galileo_account_number` string, nullable, required — System-generated account number, also known as the balance ID
    - `new_emboss_uuid` string, nullable — UUID for an emboss record that has not yet been sent to the embosser.
    - `active_flag` string, required — Indicates whether an account is active
    - `bill_cycle_day` string, nullable — Day of the month that the customer is billed
    - `start_date` string, date, nullable — Date the account was activated
    - `status` string, required — Status of the account
    - `cards` object[], required — List of cards associated with the account
      - `card_id` string, required — Unique identifier for a card
      - `emboss_uuid` string, nullable — UUID for an emboss record that has been sent to the embosser. When this field is present outside the `embossed_cards` object, it contains the most recent emboss UUID.
      - `card_number` string, required — <<glossary:PAN>>, usually masked
      - `card_status` string, nullable — Status of the card
      - `card_security_code` string, nullable — Card verification value (CVV2)
      - `expiry_date` string, date, nullable — Expiration date of the card
      - `external_card_id` string, nullable, required — Partner-specified external card identifier
      - `pin_fail_count` string, nullable, required — The number of times a PIN entry failed
      - `pin_fail_date` string, date-time, nullable, required — Last date a PIN fail was recorded
      - `freeze_info` object, required
        - `status` string, nullable, required — Whether a card is frozen
        - `start_date` string, date-time, nullable, required — Date-time when the card was frozen
        - `end_date` string, date-time, nullable, required — Date-time for the card being unfrozen
      - `encrypted_card_number` string, nullable — Encrypted PAN of the card
      - `encrypted_expiry_date` string, nullable — Encrypted expiration date of the card
      - `embossed_cards` object[], required — List of embossed card objects
        - `created_date` string, date, required — Date the card was created
        - `emboss_uuid` string, nullable — UUID for an emboss record that has been sent to the embosser. When this field is present outside the `embossed_cards` object, it contains the most recent emboss UUID.
        - `emboss_date` string, date, required — Date the card was embossed
        - `expiry_date` string, date-time, nullable — Expiration date of the card
        - `status` string, required — Emboss status. For valid values see the <a href="ref:api-reference-emboss-statuses" target="_blank">Emboss Statuses</a> enumeration.
        - `shipping_type` string, nullable, required — Type of shipping used
      - `spend_controls` object
        - `available_credit` string, nullable, required — Amount available to be charged to a credit card
        - `single_use` string, nullable, required — Indicates an alias credit card number, valid for one use
        - `credit_limit` string, nullable, required — Maximum outstanding balance allowed on a credit card
      - `first_name` string, required — Cardholder first name
      - `middle_name` string, required — Cardholder middle name
      - `last_name` string, required — Cardholder last name
      - `pmt_ref_no` string, nullable, required — System-generated account number, also known as the PRN
      - `status` string, nullable — Whether a card is frozen
      - `ssn` string, nullable — Social Security number of the cardholder. This field is returned only if `CINFN` is set.
    - `group_id` string, nullable, required — Integer used for tracking the location (store, entity, etc.) where the customer was acquired. The `group_id` is set using the `location` and `locationType` parameters in enrollment endpoints.
    - `prn` string, required — System-generated account number, also known as the `pmt_ref_no`

---

[API](https://skmtc.net/galileo-ft/apis/program-api.md) · [All operations](https://skmtc.net/galileo-ft/apis/program-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/galileo-ft/program-api/versions/bcd728f97a18/schema)
