openapi: 3.2.0 info: title: Program Accounts and Cards API version: '4.0' servers: - url: api-{corename}.{env}.gpsrv.com/intserv/4.0/ tags: - name: Accounts and Cards paths: /getBalance: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: ledger_balance: type: number format: float description: The total of all transactions—credit and debit—that have officially been posted to the account. This balance does not factor in pending transactions such as authorization holds or account holds. balance: type: number format: float description: For debit accounts, this is the available balance to spend, meaning the total of all posted transactions with all pending transactions subtracted out. For credit accounts this is the unpaid balance. available_balance: type: number format: float description: For debit accounts, this is the total of all posted transactions with all pending transactions subtracted out. Also known as the "open to buy." See Available balance for details. For credit accounts, this is the amount remaining of the credit limit. balance_without_pending: type: string description: 'For debit accounts, the total of all posted transactions with only pending authorizations subtracted out. For credit accounts this is the same as `balance`. ' currency_code: type: string description: A three-digit ISO 4217 code for the currency of the account. All amounts in this response are in this currency. pending_adjustments: type: - number - 'null' format: float description: '**To be deprecated**: This field will always be `0`.' pending_billpay: type: - number - 'null' format: float description: The total amount of pending bill payments. A bill payment is pending between the time it is created and when the amount is adjusted out of the account. pending_purchase: type: - number - 'null' format: float description: '**To be deprecated**: This field will always be `0`.' balance_without_auths: type: number format: float description: The `balance` without subtracting out authorization holds. This field is populated only when the BWOOA parameter is set. required: - available_balance - balance - balance_without_pending - currency_code - ledger_balance - pending_adjustments - pending_billpay - pending_purchase required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.088,\n \"response_data\": {\n \"balance\": 1218.2,\n \"available_balance\": 1218.2,\n \"balance_without_pending\": \"1218.20\",\n \"currency_code\": \"840\",\n \"pending_adjustments\": 0,\n \"pending_billpay\": 0,\n \"pending_purchase\": 0,\n \"ledger_balance\": 1241.7,\n \"balance_without_auths\": 1238.2\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"CUXXD4AEUMWOBMPKYBZ8\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:31:56\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.098\n \n 1234.7\n 1234.7\n 1234.7\n 840\n 0\n 0\n 0\n 1241.7\n 1254.7\n \n \n \n \n G9FMERIBYQF8L30JFPLF\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:27:18\n" description: '' parameters: [] summary: Get Balance description: Use the Get Balance endpoint to retrieve the specified account balance and its currency code. This endpoint returns the balances for all accounts that share the same balance ID (Galileo account number). For an explanation of the fields in the response, see Get Balance fields in the _Account Balances_ guide. requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: "The <> or <> of the account.\nPattern: PAN or PRN \nExample: `\"074103447228\"`" example: 074103447228 required: - accountNo - transactionId - apiLogin - apiTransKey - providerId tags: - Accounts and Cards operationId: post_getbalance /createAccount: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: - string - 'null' pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: 'The <> or <> of the account. Pattern: PAN or PRN Example: `"074103447228"`' example: 074103447228 idType: type: - integer - 'null' format: int32 enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 description: 'Specifies the type of identifier in `id`. This parameter is **required** when `id` is populated. See the **`idType`** column in the Customer ID Types table for valid values. When using the SoFi Tech Solutions <> integration, only `2` and `15` are valid. Pattern: Integer Example: `2`' example: 2 id: type: - string - 'null' description: 'The value of the primary identifier that is specified in `idType`. This parameter is **required** when using the SoFi Tech Solutions <> integration. This value cannot be changed after the customer passes ID verification. All letters will be converted to lowercase. Pattern: As specified in the **Layout for `id`** column of the Customer ID Types enumeration Example: `"123456789"`' example: '123456789' idType2: type: - integer - 'null' format: int32 enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 description: 'Specifies the type of identifier in `id2`. This parameter is **required** when `id2` is populated. See the **`idType`** column in the Customer ID Types table for valid values. Pattern: Integer Example: `1`' example: 1 id2: type: - string - 'null' description: 'The value of the identifier that is specified in `idType2`. This value can be changed but not nullified or cleared. All letters will be converted to lowercase. See Specifying a card design for non-<> uses of `id2`. Pattern: As specified in the **Layout for `id`** column of the Customer ID Types enumeration Example: `"123456789012|ut|12/25/2020"`' example: 123456789012|ut|12/25/2020 idType3: type: - integer - 'null' format: int32 enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 description: 'Specifies the type of identifier in `id3`. This parameter is **required** when `id3` is populated. See the **`idType`** column in the Customer ID Types table for valid values. Pattern: Integer Example: `13`' example: 13 id3: type: - string - 'null' description: 'The value of the identifier that is specified in `idType3`. All letters will be converted to lowercase. This value can be changed but not nullified or cleared. Pattern: As specified in the **Layout for `id`** column of the Customer ID Types enumeration Example: `"abc123456789|05-22-2027"`' example: abc123456789|05-22-2027 locationType: type: - integer - 'null' format: int32 default: 0 enum: - 0 - 1 - 2 - 3 description: 'Type of ID in `location`: * `0` — SoFi Tech Solutions location ID * `1` — Partner location ID * `2` — Don''t validate * `3` — Instant-issue location override. Valid for Create Account only. See Setup for Instant Issue for details. Pattern: Integer Example: `0`' example: 0 location: type: - string - 'null' description: 'Unique location identifier (`location`) as returned by the Create Location endpoint. This value is also returned by the Get Locations 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"`' example: a455-3483 locale: type: - string - 'null' default: en_US enum: - en_US - es_US - en_CA - fr_CA - es_MX - en_MX description: 'The account holder language and localization preference. Valid values are `en_US`, `es_US`, `fr_CA`, `en_CA`, `es_MX`, `en_MX`. If the account holder address is outside the U.S., pass a non `_US` value for this parameter to disable U.S. address validation. Pattern: Letters with underscore Example: `"en_US"`' example: en_US externalAccountId: type: - string - 'null' maximum: 30 pattern: ^[A-Za-z0-9\-+/=_]*$ description: 'User-supplied identifier that is related to an external system. This ID is stored in the system in association with this account and can be provided in the <>s. Pattern: Max 30 alphanumeric characters. Lowercase only. Example: `"553b45sbs"`' example: 553b45sbs firstName: type: - string - 'null' minimum: 1 maximum: 40 description: 'Account holder''s first name. Special character support. Pattern: 1–40 characters: letters (`A-Z`, `a-z`), spaces, hyphens (`-`) and single quotes (`''`) Example: `"Ed"`' example: Ed middleName: type: - string - 'null' minimum: 1 maximum: 40 description: 'Account holder''s middle name. Special character support. Pattern: 1–40 characters: letters (`A-Z`, `a-z`), spaces, hyphens (`-`) and single quotes (`''`) Example: `"W"`' example: W lastName: type: - string - 'null' minimum: 1 maximum: 40 description: 'Account holder''s last name. Special character support. Pattern: 1–40 characters: letters (`A-Z`, `a-z`), spaces, hyphens (`-`) and single quotes (`''`) Example: `"Harley"`' example: Harley dateOfBirth: type: - string - 'null' format: date-time description: 'Account holder''s birth date. This date is compared with the DOB product parameter when there is a minimum age requirement on the account. Pattern: YYYY-MM-DD Example: `"1980-01-01"`' example: '1980-01-01' address1: type: - string - 'null' description: 'Account holder''s first address line. Cannot be a P.O. box. Validation rules for `address1`. Pattern: 4–40 alphanumeric characters Example: `"33 Maple Street"`' example: 33 Maple Street address2: type: - string - 'null' description: "Account holder's second address line. \nPattern: Max 40 alphanumeric characters and address symbols\nExample: `\"#4B\"`" example: '#4B' address3: type: - string - 'null' description: "Account holder's third address line. \nPattern: Max 30 alphanumeric characters and address symbols\nExample: `\"Carrera Central\"`" example: Carrera Central address4: type: - string - 'null' description: 'Account holder''s fourth address line. Pattern: Max 30 alphanumeric characters and address symbols Example: `"Barrio El Alhambra"`' example: Barrio El Alhambra address5: type: - string - 'null' description: "Account holder's fifth address line. \nPattern: Max 30 alphanumeric characters and address symbols\nExample: `\"Piso 3\"`" example: Piso 3 city: type: - string - 'null' description: 'Account holder''s city. Pattern: Max 30 characters: letters, spaces, hyphen and period Example: `"Salt Lake City"`' example: Salt Lake City state: type: - string - 'null' description: "Account holder's state or province. \nPattern: String\nExample: `\"UT\"`" example: UT postalCode: type: - string - 'null' minimum: 4 maximum: 10 pattern: ^[a-zA-Z0-9\-\ ]*$ description: 'Account holder''s postal code (ZIP code). Pattern: `1234`, `12345`, `12345-1234`, or `K1A-1A1` Example: `"84121"`' example: '84121' countryCode: type: - string - 'null' pattern: ^\d{3}$ description: 'Account holder''s country. Three-digit UN M49 code, such as `840` for USA, `124` for Canada, `484` for Mexico, `170` for Colombia. Pattern: 3-digit number Example: `"840"`' example: '840' primaryPhone: type: - string - 'null' pattern: ^([0-9]+)$ description: "Account holder's primary phone number. When passing a value for this parameter, you must also pass `mobilePhoneCountryCode`.\nPattern: Validation according to the value in `mobilePhoneCountryCode`.\n Example: `\"8015556060\"`" example: '8013656060' otherPhone: type: - string - 'null' pattern: ^([0-9]+)$ description: "Account holder's secondary phone number. When passing a value for this parameter, you must also pass `mobilePhoneCountryCode`.\nPattern: Validation according to the value in `mobilePhoneCountryCode`.\n Example: `\"8015556060\"`" example: '8013656060' mobilePhone: type: - string - 'null' pattern: ^([0-9]+)$ description: "Account holder's mobile phone number. When passing a value for this parameter, you must also pass `mobilePhoneCountryCode`.\nPattern: Validation according to the value in `mobilePhoneCountryCode`.\n Example: `\"8015556060\"`" example: '8013656060' mobileCarrierId: type: - string - 'null' description: 'Account holder''s mobile carrier. Configurable list. Pattern: Configurable list Example: `"8"`' example: '8' email: type: - string - 'null' minLength: 3 maxLength: 63 pattern: '[A-Za-z0-9À-öø-þŒœŠšŸŽž!-@\[-`{-~¡-¿÷€]+' description: 'Account holder''s email. Pattern: Email address, 3–63 characters Example: `"user@fakedomain.com"`' example: user@fakedomain.com webUid: type: - string - 'null' minimum: 4 maximum: 30 pattern: ^[a-zA-Z0-9]+(?:[_-][a-zA-Z0-9]+)*$ description: 'Account holder''s username for the website hosted by SoFi Tech Solutions. Must be unique across the program. Pattern: Alphanumeric, with first character a letter; case insensitive Example: `"eharley"`' example: eharley webPwd: type: - string - 'null' description: 'Account holder''s password for the website hosted by SoFi Tech Solutions. Pattern: Min 8 characters: must include upper-case character, lower-case character, and a number Example: `"4j9KH3kkdh"`' example: 4j9KH3kkdh secretQuestion: type: - string - 'null' maximum: 50 pattern: ^[\w\s\?\']*$ description: 'Account holder''s secret question for the website hosted by SoFi Tech Solutions. Pattern: Max 50 characters: letters, spaces, `?` Example: `"What was the name of your first pet?"`' example: What was the name of your first pet? secretAnswer: type: - string - 'null' maximum: 50 description: 'Account holder''s answer to `secretQuestion`. Pattern: Max 50 characters: letters, spaces, `?` Example: `"Larry"`' example: Larry incomeSource: type: - string - 'null' minimum: 2 maximum: 60 pattern: ^[a-zA-Z0-9\|_\-@\.,' &]*$ description: 'Account holder''s employer name or income source. Pattern: Max 60 characters: alphanumeric, space, underscore, hyphen, period, `@`, `&` and comma. Example: `"Kroger Food & Drug"`' example: Kroger Food & Drug occupation: type: - string - 'null' minimum: 2 maximum: 60 pattern: ^[a-zA-Z0-9\|_\-@\.,' &]*$ description: 'Account holder''s occupation. Pattern: Max 60 characters: alphanumeric, space, underscore, hyphen, period, `@`, `&` and comma. Example: `"Project Manager"`' example: Project Manager nationality: type: - string - 'null' maxLength: 2 description: 'Account holder''s nationality. Pattern: 2-character ISO-3166-2 code :Example: `"MX"`' example: MX placeOfBirth: type: - string - 'null' maxLength: 6 description: 'Account holder''s place of birth Pattern: ISO-3166-2 subdivision code Example: MX-YUC' example: MX-YUC curp: type: - string - 'null' maxLength: 18 description: 'Account holder''s <> Pattern: 18 alphanumeric characters Example: `"HRGRAL82050602H900"`' example: HRGRAL82050602H900 politicalAffiliation: type: - integer - 'null' format: int32 minimum: 0 maximum: 1 description: 'Whether the account holder is a <>. - `1` — PEP - `0` — Not a PEP. ' example: '1' kycRefNo: type: - string - 'null' maxLength: 36 description: '<> reference number to track the KYC process for the account holder. Pattern: 36 characters Example: `"KYC123456789012312312312521312312312"` ' example: KYC123456789012312312312521312312312 monthlyIncome: type: - number - 'null' format: float minimum: 0 maximum: 9999999999 description: 'Monthly income for the account holder. Pattern: Float between 0 and 9999999999 Example: `3400.00`' example: '3400.00' externalCustomerId: type: - string - 'null' maximum: 512 description: 'User-supplied identifier that is related to an external system. Pattern: Max 512 characters: all ASCII characters Example: `"acv#-@45!sbsxm%-"`' example: acv#-@45!sbsxm%- prodId: type: integer format: int32 minimum: 0 maximum: 100000000 description: 'A unique product identifier from SoFi Tech Solutions. If this ID is for a business product then `businessName` is **required**. Pattern: Integer Example: `501`' example: 501 loadAmount: type: - number - 'null' format: float minimum: 0 description: 'Currency amount passed as a whole or decimal amount. Initial load amount on a card must be within product load limits or be the designated amount for an instant-issue card. Pattern: Float or integer Example: `100.00`, `100` or `100.73`' example: 100.73 loadType: type: - string - 'null' maximum: 2 pattern: ^[a-zA-Z0-9]*$ description: 'Transaction type for the `loadAmount`. Use values from your list of load types from SoFi Tech Solutions. If no `loadType` is specified, the default type `RL` (retail load) is used. Pattern: String Example: `"RL"`' example: RL primaryAccount: type: - string - 'null' pattern: ^[0-9]{12}$|^[0-9]{16}$ description: '<> or <> of the primary account to associate this account with. Populate this parameter only when creating a secondary account. Pattern: PAN or PRN Example: `"123456789012"`' example: '123456789012' fundingAccountNo: type: - string - 'null' pattern: ^$|^([0-9]{12})$ description: 'PRN of the <> funding account. **Required** if `prodId` is an RTF spending product. Pattern: 12-digit numeric string Example: `"143101204201"`' example: '143101204201' sharedBalance: type: - integer - 'null' format: int32 enum: - 0 - 1 description: 'Specifies whether the secondary account will share the balance of the primary account. This parameter is **required** when `primaryAccount` is populated. Do not set this parameter to `1` when `primaryAccount` is not populated. * `0` — Do not share the balance * `1` — Share the balance Pattern: Integer Example: `1`' example: 1 authorizedUser: type: - integer - 'null' format: int32 enum: - 0 - 1 description: 'Specifies whether the account is an authorized user. This parameter requires `primaryAccount` and `sharedBalance` to be populated. * `0` — Do not mark this account as authorized user * `1` — Mark this account as authorized user Pattern: Integer Example: `1`' example: 1 userData: type: - string - 'null' maximum: 50 pattern: ^[a-zA-Z0-9_ ]*$ description: 'Data supplied by the provider, from sources external to the system. This data will be stored in the system in association with this account. The most common use of this parameter is to track affiliate-marketing traffic. The data in this field can be added to an <>. Pattern: Supported characters Example: `"a4434gg44"`' example: a4434gg44 offline: type: - integer - 'null' format: int32 enum: - 0 - 1 description: "Pass `1` for an offline transaction. \nPattern: Integer\nExample: `0`" example: 0 verifyOnly: type: - integer - 'null' format: int32 enum: - 0 - 1 description: 'Pass `1` to test the validity of the parameter data without committing the information to the system. Pattern: Integer Example: `0`' example: 0 cipStatus: type: - string - 'null' enum: - '0' - '1' - '2' description: '_Legacy CIP only_. CIP setting override. * `"0"` or empty — Do not override the Legacy CIP setting. * `"1"` — Create the customer record and run Legacy CIP but do not create an account. * `"2"` — Create the customer record and account but do not run Legacy CIP. Pattern: Numeric string Example: `"0"`' example: '0' embossLine2: type: - string - 'null' maximum: 28 pattern: ^[a-zA-Z0-9_\s\'"!\?\-]*$ description: 'Second line to emboss on the card. Pattern: Supported characters Example: `"Scarlet Ibis Shipping"`' example: Scarlet Ibis Shipping providerAssessedFee: type: - number - 'null' format: float minimum: -0.001 maximum: 999999999999.99 description: 'Fee amount assessed by the provider. This value is passed to SoFi Tech Solutions only for informational purposes: passing this parameter does not assess the fee. Pattern: Monetary amount greater than 0. Example: `2.50`' example: 2.5 loadFromAccountNo: type: - string - 'null' pattern: ^[0-9]{12}$|^[0-9]{16}$ description: 'To load funds into the account at the time of account creation, specify the <> or <> of the source account for the funds. This account must be in the same program as the account being created. Pattern: PAN or PRN Example: `"123456789012"`' example: '123456789012' sweepDate: type: - string - 'null' format: date-time description: 'The last date that a daily sweep should be performed. This parameter is valid only if account sweeping is configured for the product. Pattern: YYYY-MM-DD Example: `"2016-01-01"`' example: '2016-01-01' expressMail: type: - string - 'null' enum: - '0' - '1' - '2' - '3' - '4' - '5' - '6' - '7' - '8' - '9' - Y - N description: 'The type of shipping for the physical card associated with this account. These values are universal across all vendors: - `1` — Standard shipping - `2` — Express shipping - `4` — Bulk shipping Legacy values `Y` = `2` and `N` = `1`. Consult your emboss vendor for other values. Pattern: String Example: `"2"`' example: '2' shipToAddressPermanent: type: - string - 'null' pattern: ^(1|0)$ description: 'Pass `1` to always ship cards to the ship-to address instead of one time only. Pattern: `1` or `0` Example: `"1"`' example: '1' shipToAddress1: type: - string - 'null' description: 'First ship-to address line. Pattern: Max 40 characters Example: `"33 business parkway"`' example: 33 business parkway shipToAddress2: type: - string - 'null' maximum: 40 description: 'Second ship-to address line. Pattern: Max 40 characters Example: `"Suite 400"`' example: Suite 400 shipToCity: type: - string - 'null' description: 'Ship-to city. Pattern: Max 30 characters Example: `"Salt Lake City"`' example: Salt Lake City shipToState: type: - string - 'null' description: "Ship-to state. \nPattern: String\nExample: `\"UT\"`" example: UT shipToPostalCode: type: - string - 'null' minimum: 4 maximum: 10 pattern: ^[a-zA-Z0-9\-\ ]*$ description: 'Ship-to ZIP or postal code. Pattern: `1234`, `12345`, `12345-1234`, `K1A-1A1` Example: `"841213333"`' example: '841213333' shipToCountryCode: type: - string - 'null' pattern: ^[0-9]{3}$ description: 'Ship-to country. Three-digit UN M49 country code, such as `840` for USA, `124` for Canada, `484` for Mexico, `170` for Colombia. Pattern: 3-digit number Example: `"840"`' example: '840' businessName: type: - string - 'null' description: 'Account holder''s business name. This field is **required** if `prodId` is a business product. Pattern: 2–150 characters. See the supported character set. Example: `"Ed%26Ted"`' example: Ed pattern: ^[A-Za-z0-9_\s\'-\.,\?@&\!#~\*;\+ '-]*$ mobilePhoneCountryCode: type: - string - 'null' minimum: 2 maximum: 4 pattern: ^\+[0-9]*$ description: "Account holder's mobile phone country code.\nPattern: A plus sign followed by 1–3 digits. See Phone Validation for valid values. \nExample: `\"+1\"`" example: '+1' riskContextId: type: - string - 'null' description: "A session-correlation token from the front-end risk signal collection to link to account-risk decisioning.\n Pattern: String\nExample: `\"300dcfeesarEEd\"`" required: - prodId - transactionId - apiLogin - apiTransKey - providerId summary: Create Account description: 'Use the Create Account endpoint to create an account for a new customer. You can use this endpoint for personalized, instant issue, and secondary products. This endpoint can run customer ID verification (>) if the EIVS provider parameter is set. (This endpoint also runs legacy CIP verification and returns the appropriate fields.) Create Account creates a customer record and at the same time creates an account. Depending on product settings, it also creates a card and loads funds onto it. Consult the Creating an Account guide for instructions on using this endpoint, and consult the Customer ID Verification guide for how to use this endpoint with IVS. The instructions have flowcharts to illustrate how Create Account works in the system. Also see Create Account vs Add Account in the _About Accounts_ guide. > 📘 Note > > You can receive unmasked PCI-sensitive data (`card_number`, `card_security_code`, `expiry_date`) only if your provider parameters permit it. #### Duplicate use of customer ID SoFi Tech Solutions can configure your product parameters to allow or disallow the duplicate use of customer IDs such as SSNs across your programs. #### Required fields Most input parameters for this endpoint are not required, to accommodate various use cases. If you would like some of the parameters to be required, populate the PINED product parameter with the parameters to be required. For example: `idType,id,idType2,id2`. If this endpoint returns a status code that does not match a status code that is specific to this endpoint, it might be an enrollment status code. See Enrollment Statuses for more information.' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: xid: type: string description: _Internal providers only_. System-generated internal identifier for the account. Has a 1:1 relationship with the PRN. pmt_ref_no: type: string description: System-generated account number (<>). product_id: type: string description: Identifier for the product associated with the account galileo_account_number: type: string description: System-generated balance ID cip: type: - array - 'null' description: List of customer ID verification objects, either <> or Legacy CIP, as indicated. items: type: object properties: status: type: string description: 'Status of the <> verification: `Pass`, `Fail`, `Refer`, `In Progress`.' model_results: type: - array - 'null' description: _Legacy CIP only_. List of model objects. items: type: object properties: model_name: type: - string - 'null' description: _Legacy CIP only_. The model name model_version: type: - integer - 'null' format: int32 description: _Legacy CIP only_. Version number for the model used code: type: - string - 'null' description: _Legacy CIP only_. In a model run, lists the pass number text: type: - string - 'null' description: _Legacy CIP only_. Plaintext description of the code value required: - code - model_name - model_version - text date_time: type: - string - 'null' format: date-time description: _Legacy CIP only_. Timestamp for when CIP was run. first_name: type: - string - 'null' description: _Legacy CIP only_. Account holder's first name middle_name: type: - string - 'null' description: _Legacy CIP only_. Account holder's middle name last_name: type: - string - 'null' description: _Legacy CIP only_. Account holder's last name address_1: type: - string - 'null' description: _Legacy CIP only_. First line of the account holder's address address_2: type: - string - 'null' description: _Legacy CIP only_. Second line of the account holder's address city: type: - string - 'null' description: _Legacy CIP only_. Account holder's city state: type: - string - 'null' description: _Legacy CIP only_. Account holder's state primary_phone: type: - string - 'null' description: _Legacy CIP only_. Account holder's primary phone number other_phone: type: - string - 'null' description: _Legacy CIP only_. Account holder's other phone number entity_id: type: string description: '_IVS only_. System-generated ID for the entity. Currently contains the app ID. ' customer_id: type: string description: '_IVS only_. System-generated ID for the customer undergoing verification. Currently contains the app ID. ' required: - status card_id: type: - string - 'null' description: System-generated <>. Use this ID instead of the <> if not PCI-compliant. `None` means that no card was created. new_emboss_uuid: type: - string - 'null' description: UUID for an emboss record that has not yet been sent to the embosser. card_number: type: - string - 'null' description: The primary account number (PAN) printed on the card expiry_date: type: - string - 'null' format: date description: YYYY-MM-DD. The card expires on the last day of the month (MM). Ignore the day (DD). card_security_code: type: - string - 'null' description: The card verification value (CVV2) emboss_line_2: type: - string - 'null' description: Second line to emboss on the card billing_cycle_day: type: - integer - 'null' format: int32 description: The day of the month the billing cycle starts for the account required: - billing_cycle_day - card_number - card_security_code - cip - emboss_line_2 - expiry_date - galileo_account_number - pmt_ref_no - product_id required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 2.847,\n \"response_data\": [\n {\n \"pmt_ref_no\": \"999654321098\",\n \"product_id\": \"1701\",\n \"galileo_account_number\": \"22222\",\n \"cip\": [\n {\n \"status\": \"Pass\",\n \"entity_id\": \"1307398\",\n \"customer_id\": \"1307398\"\n }\n ],\n \"card_id\": \"44444\",\n \"card_number\": \"999911XXXXXX1234\",\n \"expiry_date\": \"2029-03-09\",\n \"card_security_code\": \"123\",\n \"emboss_line_2\": null,\n \"billing_cycle_day\": 15,\n \"new_emboss_uuid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n }\n ],\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"ca36095d-096e-43db-a6d6-90571a7fe2dd\"\n },\n \"system_timestamp\": \"2026-06-09 16:41:13\",\n \"rtoken\": \"daaf9789-1654-4313-9355-4e29b2ecf16d\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 2.847\n \n \n 999654321098\n 1701\n 22222\n \n \n Pass\n 1307398\n 1307398\n \n \n 44444\n 999911XXXXXX1234\n 2029-03-09\n 123\n \n 15\n a1b2c3d4-e5f6-7890-abcd-ef1234567890\n \n \n \n \n \n ca36095d-096e-43db-a6d6-90571a7fe2dd\n \n 2026-06-09 16:41:13\n daaf9789-1654-4313-9355-4e29b2ecf16d\n" description: '' operationId: post_createaccount /getAccountCards: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: summary: Get Account Cards description: 'Use the Get Account Cards endpoint to retrieve a customer''s profile information along with all accounts and cards that are associated with that customer, regardless of status. [block:callout] { "type": "info", "title": "Note", "body": "You can receive PCI-sensitive information only if your provider parameters permit it." } [/block]' parameters: [] tags: - Accounts and Cards requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: 'The <> or <> of the account. Pattern: PAN or PRN Example: `"074103447228"`' example: 074103447228 includeRelated: type: integer format: int32 default: 1 enum: - 0 - 1 description: 'Whether to return data for all accounts that share the same cardholder (`client_id`). - `0` — Retrieve only the cards for the specified account. - `1` or _blank_ — Retrieve all accounts and cards that share the same `client_id`. Pattern: Integer Example: `0`' example: 0 required: - accountNo - transactionId - apiLogin - apiTransKey - providerId responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: customer: type: object properties: first_name: type: - string - 'null' description: The first name on the customer profile middle_name: type: - string - 'null' description: The middle name on the profile last_name: type: - string - 'null' description: The last name on the profile address_1: type: - string - 'null' description: First line of the customer address address_2: type: - string - 'null' description: Second line of the customer address city: type: - string - 'null' description: City of the address state: type: - string - 'null' description: State of the address postal_code: type: - string - 'null' description: Postal code of the address country_code: type: - string - 'null' description: ISO 3166 numeric country code phone: type: - string - 'null' description: The home phone number mobile_phone: type: - string - 'null' description: The mobile phone number on a profile mobile_phone_country_code: type: - string - 'null' description: The country code for all phone numbers email: type: - string - 'null' description: The email address on a profile ship_to_address: type: object properties: address_1: type: - string - 'null' description: First line of the ship-to address where to mail the card address_2: type: - string - 'null' description: Second line of the address. city: type: - string - 'null' description: City of the ship-to address state: type: - string - 'null' description: State of the ship-to address postal_code: type: - string - 'null' description: Postal code of the ship-to address country_code: type: - string - 'null' description: ISO 3166 numeric country code of the ship-to address required: - address_1 - address_2 - city - country_code - postal_code - state express_mail: type: - string - 'null' description: Whether the profile uses express-mail service occupation: type: - string - 'null' description: The occupation of the person in the profile income_source: type: - string - 'null' description: How the person on a profile earns income related_accounts: type: array description: List of related accounts items: type: - object - 'null' properties: active: type: string description: 'Whether the account is active: `Y` or `N`' application_date: type: - string - 'null' format: date description: The date of the application for account creation (YYYY-MM-DD). bill_cycle_day: type: - string - 'null' description: Day of the month that the customer is billed galileo_account_number: type: - string - 'null' description: System-generated account number, also known as balance ID group_id: type: - string - 'null' description: Integer value used for tracking the location (store, entity, etc.) where the customer was acquired pmt_ref_no: type: - string - 'null' description: Payment reference number (PRN), a 12-digit system-generated account number product_id: type: - string - 'null' description: A unique product identifier from SoFi Tech Solutions start_date: type: - string - 'null' format: date description: 'Date the account was first activated (`status: N`) (YYYY-MM-DD)' status: type: - string - 'null' description: The status of the account. See Account Statuses for valid values. required: - active - application_date - bill_cycle_day - galileo_account_number - group_id - pmt_ref_no - product_id - start_date - status preferred_name: type: - string - 'null' description: The preferred name on a profile, to appear on cards and CST profiles. The preferred name feature is currently in development. Additional configuration is required. Contact SoFi Tech Solutions if you are interested in this feature. required: - address_1 - address_2 - city - country_code - express_mail - first_name - income_source - last_name - middle_name - mobile_phone - occupation - phone - postal_code - related_accounts - ship_to_address - state accounts: type: array description: List of accounts items: type: - object - 'null' properties: active: type: string description: 'Whether the account is active: `Y` or `N`' application_date: type: - string - 'null' format: date description: The date of the application for account creation (YYYY-MM-DD). bill_cycle_day: type: - string - 'null' description: Day of the month that the customer is billed galileo_account_number: type: - string - 'null' description: System-generated account number, also known as the balance ID group_id: type: - string - 'null' description: Integer value used for tracking the location (store, entity, etc.) where the customer was acquired pmt_ref_no: type: - string - 'null' description: Payment reference number (PRN). A 12-digit system-generated account number product_id: type: - string - 'null' description: A unique product identifier from SoFi Tech Solutions start_date: type: - string - 'null' format: date description: 'Date the account was first activated (`status: N`) (YYYY-MM-DD). ' status: type: - string - 'null' description: The status of the account. See Account Statuses for valid values. cards: type: array description: List of cards associated with the PRN items: type: object properties: card_id: type: - string - 'null' description: Also called the CAD, a system-generated identifier for a card card_number: type: string description: A 16-digit PAN. Set CINFI when PCI-compliant to see the unmasked PAN. emboss_uuid: type: - string - 'null' description: 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_status: type: string description: A single-letter code for the status of the card. See Card Statuses for valid values. expiry_date: type: - string - 'null' format: date-time description: '_Supported data types: date, datetime, null, empty string._ Expiration date of the card (YYYY-MM-DD). (The card expires on the last day of the month [MM], not on the day [DD].) Set CINFD when PCI-compliant to see this value. Set CXPTM to include the time (YYYY-MM-DD hh:mm:ss).' external_card_id: type: - string - 'null' description: User-specified external card identifier pin_fail_count: type: - string - 'null' description: The number of failed-PIN attempts in the counter pin_fail_date: type: - string - 'null' format: date-time description: Date of the last failed PIN attempt freeze_info: type: object properties: status: type: string description: Whether the card is `Frozen` or `Unfrozen`. start_date: type: - string - 'null' format: date-time description: Start date-time for the card freeze. end_date: type: - string - 'null' format: date-time description: End date-time for the card freeze. required: - end_date - start_date - status embossed_cards: type: - array - 'null' description: List of emboss records, one for each time the card was sent to the embosser. This object is populated only when emboss records exist. items: type: - object - 'null' properties: created_date: type: - string - 'null' format: date-time description: '_Supported data types: date, datetime, null, empty string._ The date the card was created in the system (YYYY-MM-DD). Set CXPTM to include the time (YYYY-MM-DD hh:mm:ss).' emboss_uuid: type: - string - 'null' description: 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: type: - string - 'null' format: date description: The date the card was sent to the embosser (YYYY-MM-DD) expiry_date: type: - string - 'null' format: date-time description: '_Supported data types: date, datetime, null, empty string._ Expiration date of the card (YYYY-MM-DD). (The card expires on the last day of the month [MM], not on the day [DD].) Set CINFD when PCI-compliant to see this value. Set CXPTM to include the time (YYYY-MM-DD hh:mm:ss).' product_id: type: - string - 'null' description: Product ID of card at the time of embossing status: type: - string - 'null' description: Emboss status. For valid values see the Emboss Statuses enumeration. shipping_type: type: - string - 'null' description: 'The shipping type used to send the card to the cardholder: `standard` or `express`' emboss_name: type: - string - 'null' description: The cardholder name embossed on the card, from the emboss record. required: - created_date - emboss_date - emboss_name - emboss_uuid - expiry_date - product_id - shipping_type - status card_format: type: - string - 'null' description: Whether the card is `Physical` or `Virtual`. card_type: type: - string - 'null' description: Whether the card account is `Credit` or `Debit`. activation_date: type: - string - 'null' description: Date and time the card was activated (YYYY-MM-DD HH:MM:SS). Null if the card has not yet been activated. required: - card_id - card_number - card_status - emboss_uuid - embossed_cards - expiry_date - external_card_id - freeze_info - pin_fail_count - pin_fail_date required: - active - application_date - bill_cycle_day - cards - galileo_account_number - group_id - pmt_ref_no - product_id - start_date - status required: - accounts - customer required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.129,\n \"response_data\": {\n \"customer\": {\n \"first_name\": \"Desiderius\",\n \"middle_name\": \"\",\n \"last_name\": \"Erasmus\",\n \"address_1\": \"565 Verdant St\",\n \"address_2\": \"\",\n \"city\": \"Greenburg\",\n \"state\": \"UT\",\n \"postal_code\": \"84333\",\n \"country_code\": \"840\",\n \"phone\": null,\n \"mobile_phone\": \"8015553467\",\n \"mobile_phone_country_code\": \"1\",\n \"email\": \"derasmus@prodigy.com\",\n \"ship_to_address\": {\n \"address_1\": \"PO Box 444\",\n \"address_2\": null,\n \"city\": \"Greenburg\",\n \"state\": \"UT\",\n \"postal_code\": \"84333\",\n \"country_code\": \"840\"\n },\n \"express_mail\": \"N\",\n \"related_accounts\": [\n {\n \"pmt_ref_no\": \"777777777777\",\n \"galileo_account_number\": \"8369\",\n \"product_id\": \"3333\",\n \"active\": \"Y\",\n \"status\": \"N\",\n \"group_id\": null,\n \"application_date\": \"2027-01-25\",\n \"start_date\": \"2027-01-25\",\n \"bill_cycle_day\": null\n }\n ],\n \"occupation\": null,\n \"income_source\": null\n },\n \"accounts\": [\n {\n \"active\": \"Y\",\n \"application_date\": \"2027-01-25\",\n \"bill_cycle_day\": \"25\",\n \"galileo_account_number\": \"8369\",\n \"group_id\": null,\n \"pmt_ref_no\": \"777777777777\",\n \"product_id\": \"3333\",\n \"start_date\": \"2027-01-25\",\n \"status\": \"N\",\n \"cards\": []\n },\n {\n \"active\": \"Y\",\n \"application_date\": \"2027-01-25\",\n \"bill_cycle_day\": \"25\",\n \"galileo_account_number\": \"8368\",\n \"group_id\": null,\n \"pmt_ref_no\": \"888888888888\",\n \"product_id\": \"2222\",\n \"start_date\": \"2027-01-25\",\n \"status\": \"N\",\n \"cards\": [\n {\n \"card_id\": \"4444\",\n \"card_number\": \"525691XXXXXX6388\",\n \"emboss_uuid\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"card_status\": \"N\",\n \"expiry_date\": \"2026-12-04\",\n \"external_card_id\": null,\n \"pin_fail_count\": \"0\",\n \"pin_fail_date\": null,\n \"freeze_info\": {\n \"status\": \"Unfrozen\",\n \"start_date\": null,\n \"end_date\": null\n },\n \"embossed_cards\": [\n {\n \"created_date\": \"2027-06-04\",\n \"emboss_uuid\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"emboss_date\": \"2027-06-04\",\n \"expiry_date\": \"2026-12-04\",\n \"status\": \"N\",\n \"shipping_type\": \"standard\",\n \"product_id\": \"3333\"\n },\n {\n \"created_date\": \"2027-01-25\",\n \"emboss_uuid\": \"543e21a1-e89b-12d3-a456-426614174999\",\n \"emboss_date\": \"2027-01-25\",\n \"expiry_date\": \"2027-07-25\",\n \"status\": \"N\",\n \"shipping_type\": \"standard\",\n \"product_id\": \"3333\"\n }\n ]\n },\n {\n \"card_id\": \"5555\",\n \"card_number\": \"525691XXXXXX4022\",\n \"emboss_uuid\": \"a453e99a-e89b-12d3-a456-426614175333\",\n \"card_status\": \"N\",\n \"expiry_date\": \"2026-03-03\",\n \"external_card_id\": null,\n \"pin_fail_count\": \"0\",\n \"pin_fail_date\": null,\n \"freeze_info\": {\n \"status\": \"Unfrozen\",\n \"start_date\": null,\n \"end_date\": null\n },\n \"embossed_cards\": [\n {\n \"created_date\": \"2027-11-03\",\n \"emboss_uuid\": \"a453e99a-e89b-12d3-a456-426614175333\",\n \"emboss_date\": \"2027-11-03\",\n \"expiry_date\": \"2026-03-03\",\n \"status\": \"Y\",\n \"shipping_type\": \"standard\",\n \"product_id\": \"2222\"\n }\n ]\n }\n ]\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"ab33a561-6773-4d7e-80a4-b4d4fcce972c\"\n },\n \"system_timestamp\": \"2027-11-03 12:34:20\",\n \"rtoken\": \"14d2abea-ab32-4cc3-88e1-ebfc04bf6257\"\n}" application/xml: examples: response: value: "\n \n 0\n Success\n 0.129\n \n \n Desiderius\n \n Erasmus\n 565 Verdant St\n \n Greenburg\n UT\n 84333\n 840\n \n 8015553467\n 1\n derasmus@prodigy.com\n \n PO Box 444\n \n Greenburg\n UT\n 83033\n 840\n \n N\n \n 777777777777\n 8369\n 3333\n Y\n N\n \n 2027-01-25\n 2027-01-25\n \n \n \n \n \n \n Y\n 2027-01-25\n 25\n 8369\n \n 777777777777\n 3333\n 2027-01-25\n N\n \n \n Y\n 2027-01-25\n 25\n 8368\n \n 888888888888\n 2222\n 2027-01-25\n N\n \n 4444\n 525691XXXXXX6388\n 123e4567-e89b-12d3-a456-426614174000\n N\n 2026-12-04\n \n 0\n \n \n Unfrozen\n \n \n \n \n 2027-06-04\n 123e4567-e89b-12d3-a456-426614174000\n 2027-06-04\n 2026-12-04\n N\n standard\n 3333\n \n \n 2027-01-25\n 543e21a1-e89b-12d3-a456-426614174999\n 2027-01-25\n 2027-07-25\n N\n standard\n 3333\n \n \n \n 5555\n 525691XXXXXX4022\n a453e99a-e89b-12d3-a456-426614175333\n N\n 2026-03-03\n \n 0\n \n \n Unfrozen\n \n \n \n \n 2027-11-03\n a453e99a-e89b-12d3-a456-426614175333\n 2027-11-03\n 2026-03-03\n Y\n standard\n 2222\n \n \n \n \n \n \n \n ab33a561-6773-4d7e-80a4-b4d4fcce972c\n \n 2027-11-03 12:34:20\n 14d2abea-ab32-4cc3-88e1-ebfc04bf6257\n \n" description: '' operationId: post_getaccountcards /modifyStatus: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^.+$ description: 'The <>, <> or <> of the account. Pattern: PAN, PRN, or CAD Example: `"074103447228"`' example: 074103447228 type: type: integer format: int32 description: 'Specifies the account and/or card status to set. See the Modify Status Types enumeration for valid values. Pattern: Predefined integer value range Example: `2`' example: 2 startDate: type: - string - 'null' format: date-time description: 'Valid only with `type: 17` (freeze card). If you pass a value for `startDate`, you must also populate `endDate`. Default is current date-time. Pattern: `YYYY-MM-DD hh:mm:ss` Example: `"2020-02-02 12:22:02"`' example: '2020-02-02 12:22:02' endDate: type: - string - 'null' format: date-time description: 'Valid only with `type: 17` (freeze card). If you pass a value for `endDate`, you must also populate `startDate`. Must be later than `startDate`. Default is current date-time plus 24 hours. Pattern: `YYYY-MM-DD hh:mm:ss` Example: `"2020-02-12 10:00:00"`' example: '2020-02-12 10:00:00' bypassRepFee: type: - string - 'null' enum: - Y - N description: 'Valid only when `type: 19`. Pass `Y` to bypass the card replacement fee (REP). Pattern: String Example: `"Y"`' example: Y cardNumberLastFour: type: - string - 'null' pattern: '[0-9]{4}$' description: 'If multiple cards are associated with this account, use this value to ensure that the correct card is selected. Pattern: 4 digits Example: `"0789"`' example: 0789 closureReason: type: - string - 'null' enum: - inactivity - paid_user - chargeoff - collection - deleted_fraud - external_application_fraud_first_party_synthetic_id - external_application_fraud_first_party_income_misrepresentation - external_application_fraud_first_party_employment_misrepresentation - external_application_fraud_first_party_other_misrepresentation - external_credit_fraud_first_party_loan_stacking - external_credit_fraud_first_party_forced_post_transaction - external_credit_fraud_first_party_bustout - external_credit_fraud_first_party_other - external_mule_fraud_first_party_witting_mule - external_mule_fraud_first_party_unwitting_mule - external_profile_level_application_fraud_third_party_id_theft_existing_member - external_profile_level_application_fraud_third_party_id_theft_unknown_entity - external_account_takeover_fraud_third_party_social_engineering_phishing - external_account_takeover_fraud_third_party_compromised_credentials - external_account_takeover_fraud_third_party_sim_swap - external_account_takeover_fraud_third_party_password_profile_recovery_exploits - external_account_takeover_fraud_third_party_other_account_takeover - external_account_unauthorized_transaction_third_party_family_friendly_fraud - external_account_unauthorized_transaction_third_party_elder_abuse_financial_exploitation - external_account_unauthorized_transaction_third_party_unemployment_benefit_fraud - external_account_unauthorized_transaction_third_party_compromised_account_number - external_account_unauthorized_transaction_third_party_other - external_account_unauthorized_transaction_third_party_compromised_card_number - external_account_unauthorized_transaction_third_party_lost_stolen - external_account_authorized_transaction_third_party_scam_charity - external_account_authorized_transaction_third_party_scam_investment - external_account_authorized_transaction_third_party_scam_goods_services - external_account_authorized_transaction_third_party_scam_jobs - external_account_authorized_transaction_third_party_scam_property_real_estate - external_account_authorized_transaction_third_party_scam_romance - external_account_authorized_transaction_third_party_scam_known_family_friend - external_account_authorized_transaction_third_party_scam_other - internal_asset_misappropriation_fraud - internal_theft_fraud_access_abuse - internal_member_information_abuse_theft - internal_insider_insider_collusion - internal_insider_outsider_collusion - paid_chargeoff - paid_collection - deleted_no_fraud - deceased description: 'Specifies the account closure reason. See the Account Closure Reasons enumeration for valid values. Populate this parameter only when `type` contains `2`, `13`, `16` or `20`. Pattern: String Example: `"inactivity"`' example: inactivity bypassMailFee: type: - string - 'null' enum: - Y description: 'Controls whether to charge the express mail fee for the reissued card. Default: blank. Pattern: `"Y"` or blank Example: `"Y"`' example: Y required: - accountNo - transactionId - type - apiLogin - apiTransKey - providerId summary: Modify Status description: 'Use the Modify Status endpoint to change the status of an account, a card, or both. This endpoint does not change any other kind of status. - Consult the Modify Status Types enumeration to see what is affected by each `type` value. - Use this endpoint with `type: 7` to activate a virtual card; for physical card activation use the Activate Card endpoint. - See the Lost, Stolen, or Damaged Cards guide for instructions on using types `8` and `9`.' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: pmt_ref_no: type: string description: A system-generated account number account_status: type: string description: The condition of the account after a modification new_emboss_uuid: type: - string - 'null' description: UUID for a new_emboss record that has been sent to the embosser required: - account_status - pmt_ref_no required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.073,\n \"response_data\": {\n \"pmt_ref_no\": \"001109456424\",\n \"account_status\": \"N\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"DOGXLJ63DBF7EP19WPF7\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:39:13\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.0073\n \n 001109456424\n N\n \n \n \n \n C7H1193OXF056WEDYCRK\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:32:36\n" description: '' operationId: post_modifystatus /addAccount: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: 'The <> or <> of the primary account to associate with this secondary account. Pattern: PAN or PRN Example: `"112541764367"`' example: 074103447228 prodId: type: integer format: int32 minimum: 0 maximum: 100000000 description: 'A unique product identifier from SoFi Tech Solutions. If this ID is for a business product then `businessName` is **required**. Pattern: Integer Example: `501`' example: 501 location: type: - string - 'null' maximum: 20 description: 'Unique location identifier (`location`) as returned by the Create Location endpoint. This value is also returned by the Get Locations 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"`' example: a455-3483 locationType: type: - integer - 'null' format: int32 enum: - 0 - 1 - 2 description: 'Type of ID in `location`: * `0` — SoFi Tech Solutions location ID * `1` — Partner location ID * `2` — Don''t validate Pattern: Integer Example: `1`' example: 1 sharedBalance: type: - integer - 'null' format: int32 enum: - 0 - 1 description: 'Specifies whether the secondary account will share the balance of the primary account. * `0` — Do not share the balance * `1` — Share the balance Pattern: One digit Example: `1`' example: 1 fundingAccountNo: type: - string - 'null' pattern: ^$|^([0-9]{12})$ description: 'PRN of the <> funding account. **Required** if `prodId` is an RTF spending product. Pattern: 12-digit numeric string Example: `"143101204201"`' example: '143101204201' newAccountNo: type: - string - 'null' pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: 'The <> or <> of an existing instant issue card to attach to the new account. Required when `prodId` is an instant issue product. Pattern: PAN or PRN Example: `"112541764367"`' example: 074103447228 required: - accountNo - prodId - transactionId - apiLogin - apiTransKey - providerId summary: Add Account description: 'Use the Add Account endpoint to add a secondary account to an existing customer account. The account types that may be added include savings, overdraft, account with no card, virtual card, or personalized card. Consult the Adding an Account procedure for instructions on using this endpoint. Also see Create Account vs Add Account in the *About Accounts* guide.' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: pmt_ref_no: type: string description: A system-generated account number product_id: type: string description: System-generated integer ID for the product galileo_account_number: type: string description: System-generated integer account number, also known as balance ID card_id: type: - string - 'null' description: Unique identifier for a card. None is returned if no card was created. card_number: type: - string - 'null' description: A PAN or 16 digit card number (usually masked) expiry_date: type: - string - 'null' description: Expiration date of the card card_security_code: type: - string - 'null' description: Card security code (CVV2) emboss_line_2: type: - string - 'null' description: Second embossed line on a card billing_cycle_day: type: - integer - 'null' format: int32 description: The day of the month the billing cycle starts for the account required: - billing_cycle_day - galileo_account_number - pmt_ref_no - product_id required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.253,\n \"response_data\": {\n \"pmt_ref_no\": \"001109456192\",\n \"product_id\": \"88\",\n \"galileo_account_number\": \"462899\",\n \"card_id\": \"865120\",\n \"card_number\": \"487093XXXXXX3882\",\n \"card_security_code\": \"123\",\n \"emboss_line_2\": null,\n \"expiry_date\": null\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"AYA5QR4ZBO2E674YBVCX\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:38:45\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 2025-07-13 10:38:45\n \n 0001109456192\n 88\n 462899\n 865120\n 487093XXXXXX3882\n 123\n \n \n \n 0.251\n \n BA63R4ZBO2E674YCGH1\n \n \n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n" description: '' operationId: post_addaccount /updateAccount: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: - string - 'null' pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: 'The <> or <> of the account. Pattern: PAN or PRN Example: `"074103447228"`' example: 074103447228 idType: type: - integer - 'null' format: int32 enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 description: 'Specifies the type of identifier in `id`. This parameter is **required** when `id` is populated. See the **`idType`** column in the Customer ID Types table for valid values. When using the SoFi Tech Solutions <> integration, only `2` and `15` are valid. Pattern: Integer Example: `2`' example: 2 id: type: - string - 'null' description: 'The value of the primary identifier that is specified in `idType`. This parameter is **required** when using the SoFi Tech Solutions <> integration. This value cannot be changed after the customer passes ID verification. All letters will be converted to lowercase. Pattern: As specified in the **Layout for `id`** column of the Customer ID Types enumeration Example: `"123456789"`' example: '123456789' idType2: type: - integer - 'null' format: int32 enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 description: 'Specifies the type of identifier in `id2`. This parameter is **required** when `id2` is populated. See the **`idType`** column in the Customer ID Types table for valid values. Pattern: Integer Example: `1`' example: 1 id2: type: - string - 'null' description: 'The value of the identifier that is specified in `idType2`. This value can be changed but not nullified or cleared. All letters will be converted to lowercase. See Specifying a card design for non-<> uses of `id2`. Pattern: As specified in the **Layout for `id`** column of the Customer ID Types enumeration Example: `"123456789012|ut|12/25/2020"`' example: 123456789012|ut|12/25/2020 idType3: type: - integer - 'null' format: int32 enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 description: 'Specifies the type of identifier in `id3`. This parameter is **required** when `id3` is populated. See the **`idType`** column in the Customer ID Types table for valid values. Pattern: Integer Example: `13`' example: 13 id3: type: - string - 'null' description: 'The value of the identifier that is specified in `idType3`. All letters will be converted to lowercase. This value can be changed but not nullified or cleared. Pattern: As specified in the **Layout for `id`** column of the Customer ID Types enumeration Example: `"abc123456789|05-22-2027"`' example: abc123456789|05-22-2027 locationType: type: - integer - 'null' format: int32 default: 0 enum: - 0 - 1 - 2 - 3 description: 'Type of ID in `location`: * `0` — SoFi Tech Solutions location ID * `1` — Partner location ID * `2` — Don''t validate * `3` — Instant-issue location override. Valid for Create Account only. See Setup for Instant Issue for details. Pattern: Integer Example: `0`' example: 0 location: type: - string - 'null' description: 'Unique location identifier (`location`) as returned by the Create Location endpoint. This value is also returned by the Get Locations 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"`' example: a455-3483 locale: type: - string - 'null' default: en_US enum: - en_US - es_US - en_CA - fr_CA - es_MX - en_MX description: 'The account holder language and localization preference. Valid values are `en_US`, `es_US`, `fr_CA`, `en_CA`, `es_MX`, `en_MX`. If the account holder address is outside the U.S., pass a non `_US` value for this parameter to disable U.S. address validation. Pattern: Letters with underscore Example: `"en_US"`' example: en_US externalAccountId: type: - string - 'null' maximum: 30 pattern: ^[A-Za-z0-9\-+/=_]*$ description: 'User-supplied identifier that is related to an external system. This ID is stored in the system in association with this account and can be provided in the <>s. Pattern: Max 30 alphanumeric characters. Lowercase only. Example: `"553b45sbs"`' example: 553b45sbs firstName: type: - string - 'null' minimum: 1 maximum: 40 description: 'Account holder''s first name. Special character support. Pattern: 1–40 characters: letters (`A-Z`, `a-z`), spaces, hyphens (`-`) and single quotes (`''`) Example: `"Ed"`' example: Ed middleName: type: - string - 'null' minimum: 1 maximum: 40 description: 'Account holder''s middle name. Special character support. Pattern: 1–40 characters: letters (`A-Z`, `a-z`), spaces, hyphens (`-`) and single quotes (`''`) Example: `"W"`' example: W lastName: type: - string - 'null' minimum: 1 maximum: 40 description: 'Account holder''s last name. Special character support. Pattern: 1–40 characters: letters (`A-Z`, `a-z`), spaces, hyphens (`-`) and single quotes (`''`) Example: `"Harley"`' example: Harley dateOfBirth: type: - string - 'null' format: date-time description: 'Account holder''s birth date. This date is compared with the DOB product parameter when there is a minimum age requirement on the account. Pattern: YYYY-MM-DD Example: `"1980-01-01"`' example: '1980-01-01' address1: type: - string - 'null' description: 'Account holder''s first address line. Cannot be a P.O. box. Validation rules for `address1`. Pattern: 4–40 alphanumeric characters Example: `"33 Maple Street"`' example: 33 Maple Street address2: type: - string - 'null' description: "Account holder's second address line. \nPattern: Max 40 alphanumeric characters and address symbols\nExample: `\"#4B\"`" example: '#4B' address3: type: - string - 'null' description: "Account holder's third address line. \nPattern: Max 30 alphanumeric characters and address symbols\nExample: `\"Carrera Central\"`" example: Carrera Central address4: type: - string - 'null' description: 'Account holder''s fourth address line. Pattern: Max 30 alphanumeric characters and address symbols Example: `"Barrio El Alhambra"`' example: Barrio El Alhambra address5: type: - string - 'null' description: "Account holder's fifth address line. \nPattern: Max 30 alphanumeric characters and address symbols\nExample: `\"Piso 3\"`" example: Piso 3 city: type: - string - 'null' description: 'Account holder''s city. Pattern: Max 30 characters: letters, spaces, hyphen and period Example: `"Salt Lake City"`' example: Salt Lake City state: type: - string - 'null' description: "Account holder's state or province. \nPattern: String\nExample: `\"UT\"`" example: UT postalCode: type: - string - 'null' minimum: 4 maximum: 10 pattern: ^[a-zA-Z0-9\-\ ]*$ description: 'Account holder''s postal code (ZIP code). Pattern: `1234`, `12345`, `12345-1234`, or `K1A-1A1` Example: `"84121"`' example: '84121' countryCode: type: - string - 'null' pattern: ^\d{3}$ description: 'Account holder''s country. Three-digit UN M49 code, such as `840` for USA, `124` for Canada, `484` for Mexico, `170` for Colombia. Pattern: 3-digit number Example: `"840"`' example: '840' primaryPhone: type: - string - 'null' pattern: ^([0-9]+|null)$ description: "Account holder's primary phone number. When passing a value for this parameter, you must also pass `mobilePhoneCountryCode`.\nPattern: Validation according to the value in `mobilePhoneCountryCode`.\n Example: `\"8015556060\"`" example: '8013656060' otherPhone: type: - string - 'null' pattern: ^([0-9]+|null)$ description: "Account holder's secondary phone number. When passing a value for this parameter, you must also pass `mobilePhoneCountryCode`.\nPattern: Validation according to the value in `mobilePhoneCountryCode`.\n Example: `\"8015556060\"`" example: '8013656060' mobilePhone: type: - string - 'null' pattern: ^([0-9]+|null)$ description: "Account holder's mobile phone number. When passing a value for this parameter, you must also pass `mobilePhoneCountryCode`.\nPattern: Validation according to the value in `mobilePhoneCountryCode`.\n Example: `\"8015556060\"`" example: '8013656060' mobileCarrierId: type: - string - 'null' description: 'Account holder''s mobile carrier. Configurable list. Pattern: Configurable list Example: `"8"`' example: '8' email: type: - string - 'null' minLength: 3 maxLength: 63 pattern: '[A-Za-z0-9À-öø-þŒœŠšŸŽž!-@\[-`{-~¡-¿÷€]+' description: 'Account holder''s email. Pattern: Email address, 3–63 characters Example: `"user@fakedomain.com"`' example: user@fakedomain.com webUid: type: - string - 'null' minimum: 4 maximum: 30 pattern: ^[a-zA-Z0-9]+(?:[_-][a-zA-Z0-9]+)*$ description: 'Account holder''s username for the website hosted by SoFi Tech Solutions. Must be unique across the program. Pattern: Alphanumeric, with first character a letter; case insensitive Example: `"eharley"`' example: eharley webPwd: type: - string - 'null' description: 'Account holder''s password for the website hosted by SoFi Tech Solutions. Pattern: Min 8 characters: must include upper-case character, lower-case character, and a number Example: `"4j9KH3kkdh"`' example: 4j9KH3kkdh secretQuestion: type: - string - 'null' maximum: 50 pattern: ^[\w\s\?\']*$ description: 'Account holder''s secret question for the website hosted by SoFi Tech Solutions. Pattern: Max 50 characters: letters, spaces, `?` Example: `"What was the name of your first pet?"`' example: What was the name of your first pet? secretAnswer: type: - string - 'null' maximum: 50 description: 'Account holder''s answer to `secretQuestion`. Pattern: Max 50 characters: letters, spaces, `?` Example: `"Larry"`' example: Larry incomeSource: type: - string - 'null' minimum: 2 maximum: 60 pattern: ^[a-zA-Z0-9\|_\-@\.,' &]*$ description: 'Account holder''s employer name or income source. Pattern: Max 60 characters: alphanumeric, space, underscore, hyphen, period, `@`, `&` and comma. Example: `"Kroger Food & Drug"`' example: Kroger Food & Drug occupation: type: - string - 'null' minimum: 2 maximum: 60 pattern: ^[a-zA-Z0-9\|_\-@\.,' &]*$ description: 'Account holder''s occupation. Pattern: Max 60 characters: alphanumeric, space, underscore, hyphen, period, `@`, `&` and comma. Example: `"Project Manager"`' example: Project Manager nationality: type: - string - 'null' maxLength: 2 description: 'Account holder''s nationality. Pattern: 2-character ISO-3166-2 code :Example: `"MX"`' example: MX placeOfBirth: type: - string - 'null' maxLength: 6 description: 'Account holder''s place of birth Pattern: ISO-3166-2 subdivision code Example: MX-YUC' example: MX-YUC curp: type: - string - 'null' maxLength: 18 description: 'Account holder''s <> Pattern: 18 alphanumeric characters Example: `"HRGRAL82050602H900"`' example: HRGRAL82050602H900 politicalAffiliation: type: - integer - 'null' format: int32 minimum: 0 maximum: 1 description: 'Whether the account holder is a <>. - `1` — PEP - `0` — Not a PEP. ' example: '1' kycRefNo: type: - string - 'null' maxLength: 36 description: '<> reference number to track the KYC process for the account holder. Pattern: 36 characters Example: `"KYC123456789012312312312521312312312"` ' example: KYC123456789012312312312521312312312 monthlyIncome: type: - number - 'null' format: float minimum: 0 maximum: 9999999999 description: 'Monthly income for the account holder. Pattern: Float between 0 and 9999999999 Example: `3400.00`' example: '3400.00' externalCustomerId: type: - string - 'null' maximum: 512 description: 'User-supplied identifier that is related to an external system. Pattern: Max 512 characters: all ASCII characters Example: `"acv#-@45!sbsxm%-"`' example: acv#-@45!sbsxm%- mailBounced: type: - string - 'null' maximum: 1 pattern: ^[Y|N]$ description: '`Y` indicates that mail has been returned to sender. Pattern: `Y` or `N` Example: `"Y"`' example: Y shipToAddress1: type: - string - 'null' description: 'First ship-to address line. Pattern: Max 40 characters Example: `"33 business parkway"`' example: 33 business parkway shipToAddress2: type: - string - 'null' maximum: 40 description: 'Second ship-to address line. Pattern: Max 40 characters Example: `"Suite 400"`' example: Suite 400 shipToCity: type: - string - 'null' description: 'Ship-to city. Pattern: Max 30 characters Example: `"Salt Lake City"`' example: Salt Lake City shipToState: type: - string - 'null' description: "Ship-to state. \nPattern: String\nExample: `\"UT\"`" example: UT shipToPostalCode: type: - string - 'null' minimum: 4 maximum: 10 pattern: ^[a-zA-Z0-9\-\ ]*$ description: 'Ship-to ZIP or postal code. Pattern: `1234`, `12345`, `12345-1234`, `K1A-1A1` Example: `"841213333"`' example: '841213333' shipToCountryCode: type: - string - 'null' pattern: ^\d{3}$ description: 'Ship-to country. Three-digit UN M49 country code, such as `840` for USA, `124` for Canada, `484` for Mexico, `170` for Colombia. Pattern: 3-digit number Example: `"840"`' example: '840' shipToAddressPermanent: type: - string - 'null' pattern: ^(1|0)$ description: 'Pass `1` to always ship cards to the ship-to address instead of one time only. Pattern: `0` or `1` Example: `"1"`' example: '1' embossLine2: type: - string - 'null' maximum: 28 pattern: ^[\d\w\s\'"!\?\-]*$ description: 'Second line to emboss on the card. Pattern: Supported characters Example: `"Scarlet Ibis Shipping"`' example: Scarlet Ibis Shipping businessName: type: - string - 'null' description: 'Account holder''s business name. This field is **required** if `prodId` is a business product. Pattern: 2–150 characters. See the supported character set. Example: `"Ed%26Ted"`' example: Ed pattern: ^[A-Za-z0-9_\s\'-\.,\?@&\!#~\*;\+ '-]*$ mobilePhoneCountryCode: type: - string - 'null' minimum: 2 maximum: 4 pattern: ^\+[0-9]*$ description: "Account holder's mobile phone country code.\nPattern: A plus sign followed by 1–3 digits. See Phone Validation for valid values. \nExample: `\"+1\"`" example: '+1' required: - transactionId - apiLogin - apiTransKey - providerId summary: Update Account description: 'Use the Update Account endpoint to modify customer profile information in an existing customer record. Pass only the parameters to modify — other parameters should be left blank. Only active accounts (`status: N`) can be updated using this endpoint, unless you set provider parameter UPDCZ to update accounts in `status: C` or `status: Z`. #### Nullifying data elements Pass the string `null` for any of these parameters to update that value to `null`. | | | | | |:--|:--|:--|:--| | `firstName` | `middleName` | `lastName` | `address1` | | `city` | `state` | `postalCode` | `primaryPhone` | | `otherPhone` | `mobilePhone` | `shipToAddress1` | `webUid` | | `secretQuestion` | `secretAnswer` | `mailBounced` | `email`\* | | `embossLine2` | | | | \*Only if the provider parameter AENUL is set. [block:callout] { "type": "warning", "title": "Warning", "body": "Exercise caution when nullifying a primary address — for compliance in the United States you must maintain a physical address as an individual cardholder''s primary address." } [/block] #### Updating customer ID When you are using the SoFi Tech Solutions integrated > process, you can update the primary customer ID (`id` and `idType`) as long as the customer has not passed customer identity verification. If the customer has already passed IVS, status code `415-02` is returned. Secondary and tertiary customer IDs (`id2`/`idType2` and `id3`/`idType3`) can be updated regardless of customer-verification status, but they cannot be nullified or cleared. If you omit those keys, the current value is not changed. #### Updating the ship-to address When updating the ship-to address for a customer, the elements `shipToAddress1`, `shipToCity`, `shipToState`, and `shipToPostalCode` are required – `shipToAddress2` is optional. You can retrieve the current customer ship-to address data using the Get Account Cards endpoint. By default, the embosser sends the card to the primary address. To ship to a different address than the primary, use the ship-to address fields. If you pass `shipToAddressPermanent: 1` the embosser will always send cards to the ship-to address; otherwise, the ship-to address is used only for the current order.' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: customer_profile: type: object properties: first_name: type: - string - 'null' description: The first name on a profile middle_name: type: - string - 'null' description: The middle name on a profile last_name: type: - string - 'null' description: The last name on a profile preferred_name: type: - string - 'null' description: The preferred name on a profile, to appear on cards and CST profiles. The preferred name feature is currently in development. Additional configuration is required. Contact SoFi Tech Solutions if you are interested in this feature. preferred_name_only_on_card: type: - string - 'null' description: Whether the preferred name overrides only the `first_name` (default) or also `middle_name` and `last_name`. The preferred name feature is currently in development. Additional configuration is required. Contact SoFi Tech Solutions if you are interested in this feature. address_1: type: - string - 'null' description: Street and residence number on the account address_2: type: - string - 'null' description: Additional address information on the account city: type: - string - 'null' description: City for address information state: type: - string - 'null' description: State for address information postal_code: type: - string - 'null' description: A postal code for the address information country_code: type: - string - 'null' description: The ISO 3166 international standard for country codes phone: type: - string - 'null' description: The home phone number on a profile mobile_phone: type: - string - 'null' description: The home phone number on a profile mobile_phone_country_code: type: - string - 'null' description: The calling code for the mobile phone number on a profile email: type: - string - 'null' description: The email address on a profile ship_to_address: type: - object - 'null' properties: address_1: type: - string - 'null' description: The ship to address on the account address_2: type: - string - 'null' description: Additional ship to address information city: type: - string - 'null' description: City for the ship to address state: type: - string - 'null' description: State for ship to address postal_code: type: - string - 'null' description: Postal code for ship to address country_code: type: - string - 'null' description: ISO 3166 country code for ship to address required: - address_1 - address_2 - city - country_code - postal_code - state express_mail: type: - string - 'null' description: Whether or not the profile uses express mail service related_accounts: type: - integer - 'null' format: int32 description: The number of related accounts occupation: type: - string - 'null' description: The occupation of a person as listed in a profile income_source: type: - string - 'null' description: How the person on a profile earns income emboss_line_2: type: - string - 'null' description: Second embossed line on a card required: - address_1 - address_2 - city - country_code - email - emboss_line_2 - express_mail - first_name - income_source - last_name - middle_name - mobile_phone - occupation - related_accounts - ship_to_address - state required: - customer_profile required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.355,\n \"response_data\": {\n \"customer_profile\": {\n \"first_name\": \"Anthony\",\n \"middle_name\": \"Jr\",\n \"last_name\": \"Testing\",\n \"address_1\": \"6510 S. Millrock\",\n \"address_2\": \"Suite 300\",\n \"city\": \"Slc\",\n \"state\": \"UT\",\n \"postal_code\": \"84121\",\n \"country_code\": \"000\",\n \"phone\": null,\n \"mobile_phone\": null,\n \"email\": \"eric+plus@tech.sofi.com\",\n \"ship_to_address\": {\n \"address_1\": null,\n \"address_2\": null,\n \"city\": null,\n \"state\": null,\n \"postal_code\": null,\n \"country_code\": null\n },\n \"express_mail\": \"N\",\n \"related_accounts\": null,\n \"occupation\": null,\n \"income_source\": null,\n \"emboss_line_2\": null\n }\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"68RGKCSVCYE59XZOIODN\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:39:52\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.167\n \n \n Anthony\n Jr\n Testing\n 33 Maple Street\n #4B\n Salt Lake City\n UT\n 84121\n 840\n 8013656060\n 8012222222\n eric+plus@tech.sofi.com\n \n 33 Business Parkway\n Suite 400\n Salt Lake City\n UT\n 84121\n 840\n \n N\n 369\n Project Manager\n Kroger Food & Drug\n Emboss Line 2\n \n \n \n \n \n AC3B9ADYN65DDIXSFZJ0\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:33:19\n" description: '' operationId: post_updateaccount /getCard: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: summary: Get Card description: 'Use the Get Card endpoint to retrieve information for the specified card. [block:callout] { "type": "info", "title": "Note", "body": "You can receive PCI-sensitive information only if your provider parameters permit it." } [/block]' parameters: [] tags: - Accounts and Cards requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^.+$ description: 'The <>, <> or <> of the account. For card-specific endpoints such as this one, the CAD is preferred. Do not use the PRN if more than one card has ever been associated with this account. Pattern: PAN, PRN, or CAD Example: `"074103447228"`' example: 074103447228 required: - accountNo - transactionId - apiLogin - apiTransKey - providerId responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: card_number: type: string description: A 16-digit PAN. Set CINFI when PCI-compliant to see the unmasked PAN. expiry_date: type: - string - 'null' format: date-time description: '_Supported data types: date, datetime, null, empty string._ Expiration date of the card (YYYY-MM-DD). (The card expires on the last day of the month [MM], not on the day [DD].) Set CINFD when PCI-compliant to see this value. Set CXPTM to include the time (YYYY-MM-DD hh:mm:ss). When this field is present inside the `embossed_cards` object, it is not nullable.' card_security_code: type: - string - 'null' description: The card verification value (CVV2) printed on the card. Set CINFS when PCI-compliant to see this value. status: type: string description: The status of the card. See Card Statuses for valid values. card_id: type: string description: Also called the CAD, a system-generated identifier for a card external_card_id: type: - string - 'null' description: User-specified external card identifier pmt_ref_no: type: string description: Payment reference number (PRN). A 12-digit system-generated account number first_name: type: - string - 'null' description: The first name on the customer profile middle_name: type: - string - 'null' description: The middle name on the profile last_name: type: - string - 'null' description: The last name on the profile encrypted_card_number: type: - string - 'null' description: Encrypted PAN encrypted_expiry_date: type: - string - 'null' description: Encrypted expiration date emboss_uuid: type: - string - 'null' description: 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. embossed_cards: type: - array - 'null' description: List of emboss records, one for each time the card was sent to the embosser. This object is populated only when emboss records exist. items: type: - object - 'null' properties: emboss_uuid: type: - string - 'null' description: 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. status: type: string description: Emboss status. For valid values see the Emboss Statuses enumeration. created_date: type: string format: date-time description: The date the card was created in the system (YYYY-MM-DD). Set CXPTM to include the time (YYYY-MM-DD hh:mm:ss). emboss_date: type: string format: date description: The date the card was sent to the embosser (YYYY-MM-DD) expiry_date: type: - string - 'null' format: date-time description: Expiration date of the card (YYYY-MM-DD). (The card expires on the last day of the month [MM], not on the day [DD].) Set CINFD when PCI-compliant to see this value. Set CXPTM to include the time (YYYY-MM-DD hh:mm:ss). product_id: type: - string - 'null' description: Product ID of the card at the time of embossing shipping_type: type: string description: 'The shipping type used to send the card to the cardholder: `standard` or `express`' emboss_name: type: - string - 'null' description: The cardholder name embossed on the card, from the emboss record. shipment_info: description: Most recent USPS IMb shipment tracking event for this card. Null when no tracking data exists. type: - object - 'null' properties: tracking_number: type: string description: USPS Intelligent Mail barcode (IMb) tracking number. status: type: string description: 'Current tracking status. One of: `SHIPPED`, `DELIVERY_SCAN`, `RTS` (Return to Sender).' mailed_date: type: - string - 'null' description: Date the card was mailed by G&D (YYYY-MM-DD). shipping_method: type: - string - 'null' description: Shipping method as reported by G&D (e.g. `FirstClass`, `Priority`). scan_date: type: - string - 'null' description: Date and time of the most recent delivery scan (YYYY-MM-DD HH:MM:SS). scan_location: type: - string - 'null' description: City and state of the most recent scan event. scan_status: type: - string - 'null' description: Human-readable scan status description (e.g. `Delivery Prep by MM/DD/YYYY`). expected_delivery_date: type: - string - 'null' description: Estimated delivery date extracted from the scan status (YYYY-MM-DD). required: - status - tracking_number required: - created_date - emboss_date - emboss_name - emboss_uuid - expiry_date - product_id - shipping_type - status freeze_info: type: object properties: status: type: string description: Whether the card is `Frozen` or `Unfrozen`. start_date: type: - string - 'null' format: date-time description: Start date-time for the card freeze. end_date: type: - string - 'null' format: date-time description: End date-time for the card freeze. required: - end_date - start_date - status pin_fail_count: type: - string - 'null' description: The number of failed-PIN attempts in the counter pin_fail_date: type: - string - 'null' format: date-time description: Date of the last failed PIN attempt spend_controls: type: object properties: available_credit: type: - string - 'null' description: The amount available to be charged to a credit card single_use: type: - string - 'null' description: Whether this is an alias credit card number, exhausted after one use credit_limit: type: - string - 'null' description: The maximum outstanding balance allowed on a credit card required: - available_credit - credit_limit - single_use ssn: type: - string - 'null' description: The Social Security Number associated with the account. Set CINFN when PCI-compliant to see this value. card_format: type: - string - 'null' description: Whether the card is `Physical` or `Virtual`. card_type: type: - string - 'null' description: Whether the card account is `Credit` or `Debit`. activation_date: type: - string - 'null' description: Date and time the card was activated (YYYY-MM-DD HH:MM:SS). Null if the card has not yet been activated. address_1: type: - string - 'null' description: First line of the account holder's address address_2: type: - string - 'null' description: Second line of the account holder's address city: type: - string - 'null' description: Account holder's city state: type: - string - 'null' description: Account holder's state postal_code: type: - string - 'null' description: Account holder's postal code country_code: type: - string - 'null' description: Identifies the account holder's country. ISO 3166 numeric. preferred_name: type: - string - 'null' description: The preferred name on a profile, to appear on cards and CST profiles. The preferred name feature is currently in development. Additional configuration is required. Contact SoFi Tech Solutions if you are interested in this feature. required: - card_id - card_number - card_security_code - emboss_uuid - embossed_cards - encrypted_card_number - encrypted_expiry_date - expiry_date - external_card_id - first_name - freeze_info - last_name - middle_name - pin_fail_count - pin_fail_date - pmt_ref_no - spend_controls - status required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.464,\n \"response_data\": {\n \"card_number\": \"524630XXXXXX0810\",\n \"expiry_date\": \"2030-02-04\",\n \"card_security_code\": \"123\",\n \"status\": \"N\",\n \"card_id\": \"2467493\",\n \"external_card_id\": null,\n \"pmt_ref_no\": \"999127602949\",\n \"first_name\": \"Jordi\",\n \"middle_name\": \"\",\n \"last_name\": \"Cardona\",\n \"encrypted_card_number\": null,\n \"encrypted_expiry_date\": null,\n \"new_emboss_uuid\": \"f4b2a8e9-91cf-4e6a-8b4f-3d2d8f0d2c17\",\n \"embossed_cards\": [\n {\n \"status\": \"N\",\n \"emboss_uuid\": \"f4b2a8e9-91cf-4e6a-8b4f-3d2d8f0d2c17\",\n \"created_date\": \"2025-02-04\",\n \"emboss_date\": \"2025-02-04\",\n \"expiry_date\": \"2030-02-04\",\n \"shipping_type\": \"standard\",\n \"product_id\": \"6552\"\n }\n ],\n \"freeze_info\": {\n \"status\": \"Unfrozen\",\n \"start_date\": null,\n \"end_date\": null\n },\n \"pin_fail_count\": \"0\",\n \"pin_fail_date\": null,\n \"spend_controls\": {\n \"available_credit\": null,\n \"single_use\": null,\n \"credit_limit\": null\n },\n \"ssn\": \"\",\n \"card_format\": \"Physical\",\n \"card_type\": \"Debit\",\n \"address_1\": \"Calle Reforma 128\",\n \"address_2\": \"Colonia Centro\",\n \"city\": \"Cuernavaca\",\n \"state\": \"Morelos\",\n \"postal_code\": \"62000\",\n \"country_code\": \"484\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"d1fb257a-f899-4e1b-8156-a24e75282f30\"\n },\n \"system_timestamp\": \"2025-10-03 13:34:46\",\n \"rtoken\": \"511028a9-3bf2-45b1-a365-a94cb58efcfd\"\n}\n" application/xml: examples: response: value: "\n \n 0\n Success\n 0.464\n \n 524630XXXXXX0810\n 2030-02-04\n 123\n N\n 2467493\n \n 999127602949\n Jordi\n \n Cardona\n \n \n f4b2a8e9-91cf-4e6a-8b4f-3d2d8f0d2c17\n \n N\n f4b2a8e9-91cf-4e6a-8b4f-3d2d8f0d2c17\n 2025-02-04\n 2025-02-04\n 2030-02-04\n standard\n 6552\n \n \n Unfrozen\n \n \n \n 0\n \n \n \n \n \n \n \n Physical\n Debit\n Calle Reforma 128\n Colonia Centro\n Cuernavaca\n Morelos\n 62000\n 484\n \n \n \n \n d1fb257a-f899-4e1b-8156-a24e75282f30\n \n 2025-10-03 13:34:46\n 511028a9-3bf2-45b1-a365-a94cb58efcfd\n \n" description: '' operationId: post_getcard /getAccessToken: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: summary: Get Access Token description: 'Use the Get Access Token endpoint to retrieve an access token for a card, account, or customer record. The expiry in seconds (default: 300) and usage count (default: 3) for the access token are configurable using the TSECV (seconds) and TUSEC (usage) parameters. When `type: 0` always use > for `accountNo`. Use this endpoint to send a customer a link to a one-time view of a dynamically generated image of a virtual card via HTTP, for example, or for other purposes as appropriate. Consult Digital card images in the *Retrieving Card Information* guide for more information. For other uses contact SoFi Tech Solutions.' parameters: [] tags: - Accounts and Cards requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^.+$ description: 'The <>, <> or <> of the account. Pattern: PAN, PRN, or CAD Example: `"074103447228"`' example: 074103447228 type: type: integer format: int32 enum: - 0 - 1 - 2 description: 'Type of access token to retrieve: * `0` — Card * `1` — Account * `2` — Customer Pattern: Integer Example: `2`' example: 2 required: - accountNo - transactionId - type - apiLogin - apiTransKey - providerId responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: token: type: string description: A token that is used to authenticate a HTTP post for sensitive data, such as PAN or a PIN expires: type: string format: date-time description: The date and time a token expires required: - expires - token required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.036,\n \"response_data\": {\n \"token\": \"hpSVyayQScHmhJS6_MVXT1WlsFRQoDJrRu_fi_JlX2Jo2dgg5p\",\n \"expires\": \"2025-07-13 10:47:53\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"MRE8WHE7S8YXTURF1N0W\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:42:53\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.052\n \n h05Ou_9w9Wcw2zme61bau0eZHF6axKWt52bxSH7p8x_Mze1Hbg\n 2025-07-13 12:40:46\n \n \n \n \n 1NGSVG6WJS5AO86CJR1F\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:35:46\n" description: '' operationId: post_getaccesstoken /addCard: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: summary: Add Card description: 'Use the Add Card endpoint to add a new card (> and >) to an existing >. Cards that are created with this endpoint are active upon creation, and the account status is updated to the second position of XAACT. SoFi Tech Solutions recommends that you have only one active card per PRN. As needed, ensure that any previous card has been marked lost, stolen, canceled, or any status but `N`. Do not use this endpoint to create multiple spending cards that share a central balance. For that use case, SoFi Tech Solutions recommends Real-Time Funding or Corporate Credit for large numbers of cards, or for small numbers of cards you can create one primary and multiple secondary accounts that share a balance. Use this endpoint in scenarios such as these: - Replacing a virtual card that is lost, stolen, or expired - Adding another virtual card to a PRN - Replacing an instant-issue card at a storefront (for card programs with a retail integration) - Replacing a personalized card' parameters: [] tags: - Accounts and Cards requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: 'The <> or <> of the account. Do not use the <>. Pattern: PAN or PRN Example: `"074103447228"`' example: 074103447228 prodId: type: integer format: int32 minimum: 1 description: 'Product ID of the card in `accountNo`. Pattern: Integer Example: `"501"`' example: '501' newAccountNo: type: - string - 'null' pattern: ^(\d{12}|\d{16})$ description: 'The <>, <> or package ID of the instant-issue card to add. Pass this parameter only for instant-issue cards. Pattern: PAN or PRN or Package ID Example: `"123456789012"`' example: '123456789012' creditLimit: type: - number - 'null' minimum: 0 description: 'Credit limit for card-based spending control. This is available only for credit programs. Pattern: Monetary amount greater than 0. Example: `500.25`' example: 500.25 singleUse: type: string default: N enum: - Y - N description: 'Spending control to limit the card to one purchase transaction. This is available only for credit programs. Pattern: String Example: `"Y"`' example: Y required: - accountNo - prodId - transactionId - apiLogin - apiTransKey - providerId responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: pmt_ref_no: type: string description: A system-generated account number product_id: type: string description: System-generated integer galileo_account_number: type: string description: System-generated integer account number, also known as balance ID card_id: type: string description: An ID used for the card required: - card_id - galileo_account_number - pmt_ref_no - product_id required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.159,\n \"response_data\": {\n \"pmt_ref_no\": \"001109457018\",\n \"product_id\": \"88\",\n \"galileo_account_number\": \"462980\",\n \"card_id\": \"850341\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"ILJ61R9YKK5NYOCMTSPK\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:42:50\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.159\n \n 001104890593\n 88\n 386957\n 850574\n \n \n \n \n TICLSZ00BW9DFGXR3DI2\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:35:49\n" description: '' operationId: post_addcard /createProvisioningRequest: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: description: Use the Create Provisioning Request endpoint to push-provision a virtual card to a mobile wallet. This endpoint is part of a multiple-step integration that must be completed with each mobile wallet partner. Consult the Creating a Provisioning Request guide for instructions on using this endpoint. operationId: post_createprovisioningrequest parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: properties: accountNo: description: 'The <>, <> or <> of the account. For card-specific endpoints such as this one, the CAD is preferred. Do not use the PRN if more than one card has ever been associated with this account. Pattern: PAN, PRN, or CAD Example: `"074103447228"`' example: 074103447228 maxLength: 18 pattern: ^$|^([0-9]+)$ type: string apiLogin: description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 type: string apiTransKey: description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g type: string cert1: description: The leaf certificate returned by the wallet provider that was signed using `cert2`. Should be the hexlified (case insensitive) binary data of the certificate. See Certificate formatting for more information. Required for Apple Pay; not required for Samsung Pay or Google Pay. format: hexadecimal digits type: - string - 'null' cert2: description: The subordinate certificate returned by the wallet provider that was signed using the wallet provider’s Certificate Authority (CA) certificate. Should be the hexlified (case insensitive) binary data of the certificate. See Certificate formatting for more information. Required for Apple Pay; not required for Samsung Pay or Google Pay. format: hexadecimal digits type: - string - 'null' clientDeviceID: description: Value returned by Google Pay or Samsung Pay for use with Visa. **Required** for Visa + Samsung Pay or Google Pay; not required for Visa + Apple Pay. type: - string - 'null' clientWalletAccountID: description: Value returned by Google Pay or Samsung Pay for use with Visa. **Required** for Visa + Samsung Pay or Google Pay; not required for Visa + Apple Pay. type: - string - 'null' nonce: description: 'The hexlified (case insensitive) nonce value returned by Apple Pay. **Required** for Apple Pay; not required for Google Pay or Samsung Pay. Pattern: 8 character nonce value Example: `"9c023092"`' example: 9c023092 format: hexadecimal digits type: - string - 'null' nonceSignature: description: 'The hexlified (case insensitive) nonce signature value returned by Apple Pay. **Required** for Apple Pay (not required for web push provisioning); not required for Google Pay or Samsung Pay. Pattern: Nonce signature value Example: `"4082f883ae62..."`' example: 4082f883ae62... format: hexadecimal digits type: - string - 'null' provisioningSource: description: 'The source of the provisioning request. Accepted values: `"in_app"`, `"web"`. Defaults to `"in_app"` in the provisioner when not provided. Example: `"web"`' enum: - in_app - web example: in_app type: - string - 'null' transactionId: description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 maxLength: 60 minLength: 1 type: string walletProvider: description: "The type of wallet to provision:\n* `1` — Apple Pay\n* `2` — Google Pay \n* `3` — Samsung Pay\n* `4` — Apple Pay Web\nPattern: One digit\nExample: `2`" enum: - 1 - 2 - 3 - 4 - 5 example: 2 type: integer required: - accountNo - transactionId - walletProvider - apiLogin - apiTransKey - providerId type: object responses: '200': content: application/json: schema: additionalProperties: false properties: echo: anyOf: - additionalProperties: false properties: provider_timestamp: description: Store a related timestamp for reporting and troubleshooting purposes format: date-time type: - string - 'null' provider_transaction_id: description: Secondary transaction identifier (generated by a provider) type: - string - 'null' transaction_id: description: An ID that represents an API transaction type: - string - 'null' required: - provider_timestamp - provider_transaction_id - transaction_id type: object - type: - object - 'null' description: A structure that contains transaction ID information errors: description: A list of errors generated while the request was processed items: type: string type: array processing_time: description: The time elapsed in processing the transaction type: - number - 'null' response_data: anyOf: - additionalProperties: false properties: provisioning_request_data: description: The provisioning request data to be directly sent to the wallet-provider additionalProperties: false properties: activationData: description: Apple Pay only. The request's activation data. This field is always Base64-encoded when PPALE is set to Y; otherwise, it could be Base64-encoded or hex-encoded. type: string encryptedPassData: description: Apple Pay only. An encrypted JSON file containing the sensitive information needed to add a card to a wallet. This field is always Base64-encoded when PPALE is set to Y; otherwise, it could be Base64-encoded or hex-encoded. type: string ephemeralPublicKey: description: Apple Pay only. A generated key that is combined with a private key. This field is always Base64-encoded when PPALE is set to Y; otherwise, it could be Base64-encoded or hex-encoded. type: string googleOpaquePaymentCard: description: Google Pay UPP only. A standard Base64-encoded opaque string (the signed/encrypted Google OPC). Present when `googleOpaquePaymentCardRequested=true` and the Google OPC was minted successfully; otherwise null. type: - string - 'null' opaquePaymentCard: description: Google Pay only. A Base64-encoded or Base64url-encoded opaque string. For Google Pay UPP (`walletProvider=5`), nullable — absent when `tspOpaquePaymentCardRequested=false`. type: - string - 'null' payload: description: Samsung Pay only. A Base64-encoded or Base64url-encoded opaque string. type: string type: object required: - provisioning_request_data type: object - type: - object - 'null' description: A structure for the response data. It can be empty but usually will contain information. rtoken: description: A system-generated ID used for tracking type: - string - 'null' status: description: The condition of a process or response type: - string - 'null' status_code: description: The response status code. May return a string for some statuses. type: - integer - 'null' system_timestamp: description: A system generated timestamp format: date-time type: - string - 'null' required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp type: object description: Successful response summary: Create Provisioning Request tags: - Accounts and Cards /createSingleUseVirtualCard: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string x-minimum: '1' x-maximum: '60' description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 primaryAccountNo: type: string pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: "The <> or <> of an existing account held by the customer receiving the single use virtual card\nPattern: PAN or PRN \nExample: `\"074103447228\"`" example: 074103447228 prodId: type: integer minimum: 0 maximum: 100000000 description: 'A unique product identifier from SoFi Tech Solutions. Pattern: Max 9 digits Example: `501`' example: 501 creditLimit: type: number minimum: 0 description: 'Credit limit for the single-use virtual card. Minimum value is 50.00. Pattern: Decimal number (14, 2) Example: `500.25`' example: 500.25 required: - creditLimit - primaryAccountNo - prodId - transactionId - apiLogin - apiTransKey - providerId responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: pmt_ref_no: type: string description: The PRN or PAN of the new account. card_id: type: string description: Unique identifier for the card associated with the account. required: - card_id - pmt_ref_no required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.298,\n \"response_data\": [\n {\n \"pmt_ref_no\": \"001109455145\",\n \"card_id\": \"123\"\n }\n ],\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"O3S5VRKXCO5FNUMSXTIC\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:36:54\"\n}\n" application/xml: examples: response: value: "\n\n 0\n Success\n 2025-07-13 10:36:54\n \n 001109455145\n \n 0.0.298\n \n O3S5VRKXCO5FNUMSXTIC\n \n \n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n\n" description: '' summary: Create Single-Use Virtual Card tags: - Accounts and Cards description: Use the Create Single-Use Virtual Card endpoint to create a single-use virtual card for a BNPL customer. To use this endpoint with a product, the SUVC product parameter must be set to Y, indicating that the product is a single-use virtual card. operationId: post_createsingleusevirtualcard /getSavingsInterest: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: apy: type: string description: The actual interest rate used to calculate compound interest over the course of one year interest_ytd: type: string description: The interest paid on a savings account from the start date to the end date accrual_interest: type: number format: float description: Interest accrued on account start_date: type: string format: date-time description: The start date of a response carry_over: type: number format: float description: The carry over interest pending on a savings account on the end date end_date: type: string format: date-time description: The end date of a response required: - accrual_interest - apy - carry_over - end_date - interest_ytd - start_date required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.413,\n \"response_data\": {\n \"interest_ytd\": \"331.53\",\n \"end_date\": \"2025-07-16 23:59:59\",\n \"start_date\": \"2025-06-14 00:00:00\",\n \"carry_over\": \"0.43\",\n \"apy\": \"2.02\",\n \"accrual_interest\": \".018166598\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"42112d54-c156-492f-987f-2c72c4b9620f\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 14:49:05\"\n}\n" application/xml: examples: response: value: "\n0\nSuccess\n0.413\n\n 331.53\n 2025-07-16 23:59:59\n 2025-06-14 00:00:00\n 0.43\n 2.02\n .018166598\n\n\n \n \n 42112d54-c156-492f-987f-2c72c4b9620f\n\n8cc16de0-5eda-4e2a-968e-3b08fce6f778\n2025-07-15 14:49:05\n" description: '' parameters: [] summary: Get Savings Interest description: Use the Get Savings Interest endpoint to retrieve accrual interest, interest year-to-date, and annual percentage yield earned for a savings account that is a secondary account. If you are already using Get Savings Interest, SoFi Tech Solutions recommends that you migrate to Get Interest. requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^.+$ description: 'The <> or <> of the account. Pattern: PAN or PRN. Example: 074103447228.' example: 074103447228 startDate: type: string format: date description: 'The beginning date for the date range, either a date or a date-time. Pattern: YYYY-MM-DD or YYYY-MM-DD hh:mm:ss. Example: 2016-01-01.' example: '2016-01-01' endDate: type: string format: date description: 'The end date for the date range, either a date or a date-time. Must be equal to or later than startDate. Pattern: YYYY-MM-DD or YYYY-MM-DD hh:mm:ss. Example: 2016-01-01.' example: '2016-01-01' required: - accountNo - endDate - startDate - transactionId - apiLogin - apiTransKey - providerId tags: - Accounts and Cards operationId: post_getsavingsinterest /getInterest: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: type: - array - 'null' description: A structure for the response data. It can be empty but usually will contain information. items: type: object properties: apye: type: number format: float description: The Annual Percentage Yield Earned (APYE) for the requested month adb: type: - number - 'null' format: float description: The <> for the requested month. Populated only when an internal feature flag is set and a monthly interest record exists. Returns 0 for non-ADB products when a monthly interest record exists but the ADB value is not set. Null only when the legacy read path is active (flag off or monthly interest record missing). start_date: type: string format: date description: The start date of the requested month interest_payout: type: number format: float description: Interest accrued on account to two decimal places. This includes carryover from the previous month and is what the account has been paid or will be paid. carryover_previous_month: type: number format: float description: The remainder interest from the previous month that is carried over to the requested month interest_paid_ytd: type: number format: float description: The interest paid on the account for today's year to date. The `interestMonth` argument does not affect this value. accrual_interest_without_carryover: type: number format: float description: Interest accrued on the account without carryover from the previous month product_description: type: - string - 'null' description: Product Description account_no: type: integer format: int32 description: Account No product_id: type: integer format: int32 description: Product Id end_date: type: string format: date description: The end date of the requested month required: - account_no - accrual_interest_without_carryover - apye - carryover_previous_month - end_date - interest_paid_ytd - interest_payout - product_description - product_id - start_date required: - echo - processing_time - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.413,\n \"response_data\": {\n \"interest\": {\n \"product_id\": 88,\n \"product_description\": \"Blue Kingfisher VISA\",\n \"account_no\": \"999101789000\",\n \"interest_payout\": 0.02,\n \"accrual_interest_without_carryover\": 0.018166598,\n \"carryover_previous_month\": 0.0024343343,\n \"interest_paid_ytd\": 331.53,\n \"apye\": 2.02,\n \"start_date\": \"2025-05-01\",\n \"end_date\": \"2025-05-31\"\n }\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"42112d54-c156-492f-987f-2c72c4b9620f\"\n },\n \"system_timestamp\": \"2026-01-13 15:30:24\",\n \"rtoken\": \"8e264f42-86fc-413c-ae71-64aa6acf5009\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.413\n \n \n 88\n Blue Kingfisher VISA\n 999101789000\n 0.02\n 0.018166598\n 0.0024343343\n 331.53\n 2.02\n 2025-05-01\n 2025-05-31\n \n \n \n \n \n 42112d54-c156-492f-987f-2c72c4b9620f\n \n\n\n" description: '' parameters: [] summary: Get Interest description: 'Use the Get Interest endpoint to retrieve accrual interest, interest year-to-date, and annual percentage yield for any type of interest bearing account (savings or non-savings). The Get Interest endpoint is the preferred method for retrieving data on interest-bearing accounts.' requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: - string - 'null' pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: "The <> or <> of the account.\nPattern: PAN or PRN \nExample: `\"074103447228\"`" example: 074103447228 interestMonth: type: string format: date description: 'The month to retrieve interest data for. Pattern: YYYY-MM Example: `2020-01`.' example: 2020-01 includeRelated: type: integer format: int32 default: 0 enum: - 0 - 1 description: "Whether to return data for related accounts. \n\nWhen `accountNo` contains a primary account:\n- `0` — **Default**. Retrieve data only for the specified account.\n- `1` — Also retrieve data for accounts that share the same balance or account owner.\n\nWhen `accountNo` contains a secondary account:\n- `0` — **Default**. Retrieve data only for the specified account.\n- `1` — Also retrieve data for other secondary accounts of the primary (but not primary-account data).\n\nPattern: Integer\nExample: `1`" example: 1 required: - interestMonth - transactionId - apiLogin - apiTransKey - providerId tags: - Accounts and Cards operationId: post_getinterest /startEnrollment: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 prodId: type: integer format: int32 minimum: 0 maximum: 100000000 description: 'A unique product identifier from SoFi Tech Solutions. If this ID is for a business product then `businessName` is **required**. Pattern: Integer Example: `501`' example: 501 id: type: - string - 'null' description: 'The value of the primary identifier that is specified in `idType`. Product settings determine whether this ID should be unique across the program or product. This parameter is **required** when using the SoFi Tech Solutions legacy <> solution. The system converts all letters to lowercase. Pattern: As specified in the **Layout** column of the Customer ID Types enumeration Example: `"123456789"`' example: '123456789' idType: type: - integer - 'null' format: int32 enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 description: 'Specifies the type of primary identifier in the `id` parameter. This parameter is **required** when `id` is populated. See the **`idType`** column in the Customer ID Types table for valid values. Pattern: Integer Example: `2`' example: 2 id2: type: - string - 'null' description: 'Secondary identifier for an account holder. The system converts all letters to lowercase. Pattern: See Customer ID Types Example: `"123456789012|ut|12/25/2020"`' example: 123456789012|ut|12/25/2020 idType2: type: - integer - 'null' format: int32 enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 description: 'Specifies the type of identifier in `id2`. This parameter is **required** when `id2` is populated. See the **`idType`** column in the Customer ID Types table for valid values. Pattern: Integer Example: `1`' example: 1 location: type: - string - 'null' maximum: 20 description: 'Unique location identifier (`location`) as returned by the Create Location endpoint. This value is also returned by the Get Locations 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"`' example: a455-3483 locationType: type: - integer - 'null' format: int32 enum: - 0 - 1 - 2 description: 'Type of ID in `location`: * `0` — SoFi Tech Solutions location ID * `1` — Partner location ID * `2` — Don''t validate Pattern: Integer Example: `1`' example: 1 locale: type: - string - 'null' default: en_US enum: - en_US - es_US - en_CA - fr_CA - es_MX - en_MX description: 'The account holder language and localization preference. If the account holder address is outside the U.S., pass a non `_US` value for this parameter to disable U.S. address validation. Pattern: String Example: `"en_US"`' example: en_US firstName: type: - string - 'null' minimum: 1 maximum: 40 description: 'Account holder''s first name. Special character support. Pattern: 1–40 characters: letters (`A-Z`, `a-z`), spaces, hyphens (`-`) and single quotes (`''`) Example: `"Ed"`' example: Ed middleName: type: - string - 'null' minimum: 1 maximum: 40 description: 'Account holder''s middle name. Special character support. Pattern: 1–40 characters: letters (`A-Z`, `a-z`), spaces, hyphens (`-`) and single quotes (`''`) Example: `"W"`' example: W lastName: type: - string - 'null' minimum: 1 maximum: 40 description: 'Account holder''s last name. Special character support. Pattern: 1–40 characters: letters (`A-Z`, `a-z`), spaces, hyphens (`-`) and single quotes (`''`) Example: `"Harley"`' example: Harley dateOfBirth: type: - string - 'null' format: date-time description: 'Account holder''s birth date. This date is compared with the DOB product parameter when there is a minimum age requirement on the account. Pattern: YYYY-MM-DD Example: `"1980-01-01"`' example: '1980-01-01' address1: type: - string - 'null' description: 'Account holder''s first address line. Cannot be a P.O. box. Validation rules for `address1`. Pattern: 4–40 alphanumeric characters Example: `"33 Maple Street"`' example: 33 Maple Street address2: type: - string - 'null' description: "Account holder's second address line. \nPattern: Max 40 alphanumeric characters and address symbols\nExample: `\"#4B\"`" example: '#4B' address3: type: - string - 'null' description: "Account holder's third address line. \nPattern: Max 30 alphanumeric characters and address symbols\nExample: `\"Carrera Central\"`" example: Carrera Central address4: type: - string - 'null' description: 'Account holder''s fourth address line. Pattern: Max 30 alphanumeric characters and address symbols Example: `"Barrio El Alhambra"`' example: Barrio El Alhambra address5: type: - string - 'null' description: "Account holder's fifth address line. \nPattern: Max 30 alphanumeric characters and address symbols\nExample: `\"Piso 3\"`" example: Piso 3 city: type: - string - 'null' description: 'Account holder''s city. Pattern: Max 30 characters: letters, spaces, hyphen and period Example: `"Salt Lake City"`' example: Salt Lake City state: type: - string - 'null' description: "Account holder's state or province. \nPattern: String\nExample: `\"UT\"`" example: UT postalCode: type: - string - 'null' minimum: 4 maximum: 10 pattern: ^[a-zA-Z0-9\-\ ]*$ description: 'Account holder''s postal code (ZIP code). Pattern: `12345`, `12345-1234`, or `K1A-1A1` Example: `"84121"`' example: '84121' countryCode: type: - string - 'null' pattern: ^\d{3}$ description: 'Account holder''s country. Three-digit UN M49 code, such as `840` for USA, `124` for Canada, `484` for Mexico, `170` for Colombia. Pattern: 3-digit number Example: `"840"`' example: '840' expressMail: type: - string - 'null' enum: - '0' - '1' - '2' - '3' - '4' - '5' - '6' - '7' - '8' - '9' - Y - N description: "The type of shipping for the physical card associated with this account. These values are universal across all vendors:\n- `1` — Standard shipping\n- `2` — Express shipping\n- `4` — Bulk shipping\n\nLegacy values `Y` = `2` and `N` = `1`. Consult your emboss vendor for other values. \nPattern: String\nExample: `\"2\"`" example: '2' primaryPhone: type: - string - 'null' pattern: ^([0-9]+)$ description: 'Account holder''s primary phone number. Pattern: Validation according to the value in `mobilePhoneCountryCode`. Example: `"8013656060"`' example: '8013656060' otherPhone: type: - string - 'null' pattern: ^([0-9]+)$ description: 'Account holder''s secondary phone number. Pattern: Validation according to the value in `mobilePhoneCountryCode`. Example: `"8013656060"`' example: '8013656060' mobilePhone: type: - string - 'null' pattern: ^([0-9]+)$ description: 'Account holder''s mobile phone number. Pattern: Validation according to the value in `mobilePhoneCountryCode`. Example: `"8013656060"`' example: '8013656060' mobileCarrierId: type: - string - 'null' description: 'Account holder''s mobile carrier. Configurable list. Pattern: Configurable list Example: `"8"`' example: '8' email: type: - string - 'null' format: email minLength: 3 maxLength: 63 description: 'Account holder''s email. This field is validated by Marshmallow. Pattern: Email address, 3–63 characters Example: `"user@fakedomain.com"`' example: user@fakedomain.com webUid: type: - string - 'null' minimum: 4 maximum: 30 pattern: ^[a-zA-Z0-9]+(?:[_-][a-zA-Z0-9]+)*$ description: 'Account holder''s username for the website hosted by SoFi Tech Solutions. Must be unique across the program. Pattern: Alphanumeric, with first character a letter; case insensitive Example: `"eharley"`' example: eharley webPwd: type: - string - 'null' description: 'Account holder''s password for the website hosted by SoFi Tech Solutions. Pattern: Min 8 characters: must include upper-case character, lower-case character, and a number Example: `"4j9KH3kkdh"`' example: 4j9KH3kkdh secretQuestion: type: - string - 'null' maximum: 50 pattern: ^[A-Za-z0-9_\'\s\?]*$ description: 'Account holder''s secret question for the website hosted by SoFi Tech Solutions. Pattern: Max 50 characters: letters, spaces, `?` Example: `"What was the name of your first pet?"`' example: What was the name of your first pet? secretAnswer: type: - string - 'null' maximum: 50 description: 'Account holder''s answer to `secretQuestion`. Pattern: Max 50 characters: letters, spaces, `?` Example: `"Larry"`' example: Larry userData: type: - string - 'null' maximum: 50 pattern: ^[a-zA-Z0-9_ ]*$ description: 'Data supplied by the provider, from sources external to the system. This data will be stored in the system in association with this account. The most common use of this parameter is to track affiliate-marketing traffic. The data in this field can be added to an <>. Pattern: Max 50 alphanumeric characters, spaces, and underscores Example: `"abcd_1234"`' example: abcd_1234 verifyOnly: type: - integer - 'null' format: int32 enum: - 0 - 1 description: 'Pass `1` to test the validity of the parameter data without committing the information to the system. Pattern: Integer Example: `1`' example: 1 monthlyIncome: type: - number - 'null' format: float minimum: 0.01 maximum: 999999999999.99 description: "Currency amounts passed as whole or fractional amounts, examples: '100.00', '100', or '100.73'. \nPattern: Monetary amount 0 or greater.\nExample: `25.50`" example: 25.5 monthlyLiab: type: - number - 'null' format: float minimum: 0.01 maximum: 999999999999.99 description: "Currency amounts passed as whole or fractional amounts, examples: '100.00', '100', or '100.73'. \nPattern: Monetary amount 0 or greater.\nExample: `25.50`" example: 25.5 runCip: type: - integer - 'null' format: int32 enum: - 0 - 1 description: 'Specifies whether to run <> on the customer. Valid only when using the SoFi Tech Solutions legacy CIP solution. * `0` — Do not run CIP * `1` — Run CIP Pattern: Integer Example: `1`' example: 1 businessName: type: - string - 'null' description: 'Account holder''s business name. This field is **required** if `prodId` is a business product. Pattern: 2–150 characters. See the supported character set. Example: `"Ed%26Ted"`' example: Ed pattern: ^[A-Za-z0-9_\s\'-\.,\?@&\!#~\*;\+ '-]*$ mobilePhoneCountryCode: type: - string - 'null' minimum: 2 maximum: 4 pattern: ^\+[0-9]*$ description: "Account holder's mobile phone country code.\nPattern: A plus sign followed by 1–3 digits. See Phone Validation for valid values. \nExample: `\"+1\"`" example: '+1' required: - prodId - transactionId - apiLogin - apiTransKey - providerId summary: Start Enrollment description: 'Use the Start Enrollment endpoint to initiate a new enrollment and run >. This endpoint is not integrated with >. This endpoint is different from Create Account in that it creates a customer record but does not create an account or card. > 📘 Note > > If this endpoint returns a status code that does not match a status code that is specific to this endpoint, it may be an enrollment status code. See Enrollment Statuses for more information.' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: appId: type: string description: Identifier for the enrollment application cip: type: array items: description: List of cardholder identification process (CIP) objects type: object properties: status: type: string description: Status of the CIP process model_results: type: - array - 'null' description: _Legacy CIP only_. List of model objects items: type: object properties: model_name: type: - string - 'null' description: _Legacy CIP only_. The model name model_version: type: - integer - 'null' format: int32 description: _Legacy CIP only_. Version number for the model used code: type: - string - 'null' description: _Legacy CIP only_. In a model run, lists the pass number text: type: - string - 'null' description: _Legacy CIP only_. Plaintext description of the code value required: - code - model_name - model_version - text date_time: type: string format: date-time description: _Legacy CIP only_. The date and time CIP was run first_name: type: - string - 'null' description: _Legacy CIP only_. Account holder's first name middle_name: type: - string - 'null' description: _Legacy CIP only_. Account holder's middle name last_name: type: - string - 'null' description: _Legacy CIP only_. Account holder's last name address_1: type: - string - 'null' description: _Legacy CIP only_. First line of the account holder's address address_2: type: - string - 'null' description: _Legacy CIP only_. Second line of the account holder's address city: type: - string - 'null' description: _Legacy CIP only_. Account holder's city state: type: - string - 'null' description: _Legacy CIP only_. Account holder's state primary_phone: type: - string - 'null' description: _Legacy CIP only_. Account holder's primary phone number other_phone: type: - string - 'null' description: _Legacy CIP only_. Account holder's other phone number required: - date_time - model_results - status max_credit_limit: type: string description: Maximum credit limit required: - appId required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.08,\n \"response_data\": {\n \"appId\": \"477477\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"XPEED783YA5LKFXO80D1\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:38:07\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.077\n \n 477784\n \n \n \n \n D6GG9F4GFW1AL0Z8BNGN\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:29:25\n" description: '' operationId: post_startenrollment /getEnrollmentInfo: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 required: - transactionId - apiLogin - apiTransKey - providerId summary: Get Enrollment Info description: 'Use Get Enrollment Info to get the customer data that was submitted with Start Enrollment or with a Create Account call that passed `cipStatus: 1` (send customer profile to > but do not create account). The endpoint returns customer data and any CIP-related information. This endpoint is not integrated with >. Pass the `transactionId` from the original Start Enrollment or Create Account call. No other parameters except the base form parameters are required.' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: enrollment_data: description: A data structure for enrollment information type: object properties: first_name: type: - string - 'null' description: Account holder's first name middle_name: type: - string - 'null' description: Account holder's middle name last_name: type: - string - 'null' description: Account holder's last name address_1: type: - string - 'null' description: First line of the account holder's address address_2: type: - string - 'null' description: Second line of the account holder's address city: type: - string - 'null' description: Account holder's city state: type: - string - 'null' description: Account holder's state postal_code: type: - string - 'null' description: Account holder's postal code country_code: type: - string - 'null' description: The ISO 3166 international standard for country codes. Identifies the account holder's country. primary_phone: type: - string - 'null' description: Account holder's primary phone number mobile_phone: type: - string - 'null' description: Account holder's mobile phone number other_phone: type: - string - 'null' description: Account holder's other phone number web_uid: type: - string - 'null' description: Account holder's user name (if SoFi Tech Solutions hosts the enrollment website) secret_question: type: - string - 'null' description: A secret question associated with the account for access verification id: type: - string - 'null' description: The customer ID type idType: type: - integer - 'null' format: int32 description: Description of the ID type specified in the `id` response field id2: type: - string - 'null' description: The customer ID type for a secondary ID idType2: type: - integer - 'null' format: int32 description: Description of the ID type specified in the `id2` response field required: - address_1 - address_2 - city - country_code - first_name - id - id2 - idType - idType2 - last_name - middle_name - mobile_phone - other_phone - postal_code - primary_phone - secret_question - state - web_uid cip: type: array items: description: List of cardholder identification process (CIP) objects type: object properties: status: type: string description: Status of the CIP process model_results: type: - array - 'null' description: _Legacy CIP only_. List of model objects items: type: object properties: model_name: type: - string - 'null' description: _Legacy CIP only_. The model name model_version: type: - integer - 'null' format: int32 description: _Legacy CIP only_. Version number for the model used code: type: - string - 'null' description: _Legacy CIP only_. In a model run, lists the pass number text: type: - string - 'null' description: _Legacy CIP only_. Plaintext description of the code value required: - code - model_name - model_version - text date_time: type: string format: date-time description: _Legacy CIP only_. The date and time CIP was run first_name: type: - string - 'null' description: _Legacy CIP only_. Account holder's first name middle_name: type: - string - 'null' description: _Legacy CIP only_. Account holder's middle name last_name: type: - string - 'null' description: _Legacy CIP only_. Account holder's last name address_1: type: - string - 'null' description: _Legacy CIP only_. First line of the account holder's address address_2: type: - string - 'null' description: _Legacy CIP only_. Second line of the account holder's address city: type: - string - 'null' description: _Legacy CIP only_. Account holder's city state: type: - string - 'null' description: _Legacy CIP only_. Account holder's state primary_phone: type: - string - 'null' description: _Legacy CIP only_. Account holder's primary phone number other_phone: type: - string - 'null' description: _Legacy CIP only_. Account holder's other phone number required: - date_time - model_results - status required: - cip - enrollment_data required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.028,\n \"response_data\": {\n \"enrollment_data\": {\n \"first_name\": \"Jerome\",\n \"middle_name\": \"T\",\n \"last_name\": \"Pushey\",\n \"address_1\": \"6510 S Millrock Dr\",\n \"address_2\": \"Suite 300\",\n \"city\": \"Salt Lake City\",\n \"state\": \"UT\",\n \"postal_code\": \"84121\",\n \"country_code\": null,\n \"primary_phone\": null,\n \"mobile_phone\": \"8013650000\",\n \"other_phone\": null,\n \"web_uid\": \"jpushey\",\n \"secret_question\": \"What is your mother's maiden name?\",\n \"id\": \"987451235\",\n \"idType\": \"2\",\n \"id2\": null,\n \"idType2\": null\n },\n \"cip\": []\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"testtransid\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 14:30:38\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.024\n \n \n Jerome\n T\n Pushey\n 6510 S Millrock Dr\n Suite 300\n Salt Lake City\n UT\n 84121\n \n \n 8013650000\n \n jpushey\n What is your mother's maiden name?\n 987451235\n 2\n \n \n \n \n \n \n \n \n testtransid\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 14:30:39\n" description: '' operationId: post_getenrollmentinfo /updateEnrollment: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 prodId: type: integer format: int32 minimum: 0 maximum: 100000000 description: 'A unique product identifier from SoFi Tech Solutions. If this ID is for a business product then `businessName` is **required**. Pattern: Integer Example: `501`' example: 501 id: type: - string - 'null' description: 'Primary identifier for an account holder. The system converts all letters to lowercase. Pattern: See Customer ID Types Example: `"123456789"`' example: '123456789' idType: type: - integer - 'null' format: int32 enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 description: 'Specifies the type of primary identifier in the `id` parameter. This parameter is **required** when `id` is populated. See the **`idType`** column in the Customer ID Types table for valid values. Pattern: Integer Example: `2`' example: 2 id2: type: - string - 'null' description: 'Secondary identifier for an account holder. The system converts all letters to lowercase. Pattern: See Customer ID Types Example: `"123456789012|ut|12/25/2020"`' example: 123456789012|ut|12/25/2020 idType2: type: - integer - 'null' format: int32 enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 description: 'Specifies the type of identifier in `id2`. This parameter is **required** when `id2` is populated. See the **`idType`** column in the Customer ID Types table for valid values. Pattern: Integer Example: `1`' example: 1 firstName: type: - string - 'null' minimum: 1 maximum: 40 description: 'Account holder''s first name. Special character support. Pattern: 1–40 characters: letters (`A-Z`, `a-z`), spaces, hyphens (`-`) and single quotes (`''`) Example: `"Ed"`' example: Ed middleName: type: - string - 'null' minimum: 1 maximum: 40 description: 'Account holder''s middle name. Special character support. Pattern: 1–40 characters: letters (`A-Z`, `a-z`), spaces, hyphens (`-`) and single quotes (`''`) Example: `"W"`' example: W lastName: type: - string - 'null' minimum: 1 maximum: 40 description: 'Account holder''s last name. Special character support. Pattern: 1–40 characters: letters (`A-Z`, `a-z`), spaces, hyphens (`-`) and single quotes (`''`) Example: `"Harley"`' example: Harley dateOfBirth: type: - string - 'null' format: date-time description: 'Account holder''s birth date. This date is compared with the DOB product parameter when there is a minimum age requirement on the account. Pattern: YYYY-MM-DD Example: `"1980-01-01"`' example: '1980-01-01' address1: type: - string - 'null' description: 'Account holder''s first address line. Cannot be a P.O. box. Validation rules for `address1`. Pattern: 4–40 alphanumeric characters Example: `"33 Maple Street"`' example: 33 Maple Street address2: type: - string - 'null' description: "Account holder's second address line. \nPattern: Max 40 alphanumeric characters and address symbols\nExample: `\"#4B\"`" example: '#4B' address3: type: - string - 'null' description: "Account holder's third address line. \nPattern: Max 30 alphanumeric characters and address symbols\nExample: `\"Carrera Central\"`" example: Carrera Central address4: type: - string - 'null' description: 'Account holder''s fourth address line. Pattern: Max 30 alphanumeric characters and address symbols Example: `"Barrio El Alhambra"`' example: Barrio El Alhambra address5: type: - string - 'null' description: "Account holder's fifth address line. \nPattern: Max 30 alphanumeric characters and address symbols\nExample: `\"Piso 3\"`" example: Piso 3 locale: type: - string - 'null' default: en_US enum: - en_US - es_US - en_CA - fr_CA - es_MX - en_MX description: 'The account holder language and localization preference. If the account holder address is outside the U.S., pass a non `_US` value for this parameter to disable U.S. address validation. Pattern: String Example: `"en_US"`' example: en_US city: type: - string - 'null' description: 'Account holder''s city. Pattern: Max 30 characters: letters, spaces, hyphen and period Example: `"Salt Lake City"`' example: Salt Lake City state: type: - string - 'null' description: "Account holder's state or province. \nPattern: String\nExample: `\"UT\"`" example: UT postalCode: type: - string - 'null' minimum: 4 maximum: 10 pattern: ^[a-zA-Z0-9\-\ ]*$ description: 'Account holder''s postal code (ZIP code). Pattern: `12345`, `12345-1234`, or `K1A-1A1` Example: `"84121"`' example: '84121' countryCode: type: - string - 'null' pattern: ^\d{3}$ description: 'Account holder''s country. Three-digit UN M49 code, such as `840` for USA, `124` for Canada, `484` for Mexico, `170` for Colombia. Pattern: 3-digit number Example: `"840"`' example: '840' primaryPhone: type: - string - 'null' pattern: ^([0-9]+|null)$ description: 'Account holder''s primary phone number. Pattern: Exactly 10 digits, no hyphens or other characters Example: `"8013656060"`' example: '8013656060' otherPhone: type: - string - 'null' pattern: ^([0-9]+|null)$ description: 'Phone number. Pattern: Exactly 10 digits, no hyphens or other characters Example: `"8013656060"`' example: '8013656060' mobilePhone: type: - string - 'null' pattern: ^([0-9]+|null)$ description: 'Phone number. Pattern: Exactly 10 digits, no hyphens or other characters Example: `"8013656060"`' example: '8013656060' mobileCarrierId: type: - string - 'null' description: 'Account holder''s mobile carrier. Configurable list. Pattern: Configurable list Example: `"8"`' example: '8' email: type: - string - 'null' format: email minLength: 3 maxLength: 63 description: 'Account holder''s email. This field is validated by Marshmallow. Pattern: Email address, 3–63 characters Example: `"user@fakedomain.com"`' example: user@fakedomain.com webUid: type: - string - 'null' minimum: 4 maximum: 30 pattern: ^[a-zA-Z0-9]+(?:[_-][a-zA-Z0-9]+)*$ description: 'Account holder''s username for the website hosted by SoFi Tech Solutions. Must be unique across the program. Pattern: Alphanumeric, with first character a letter; case insensitive Example: `"eharley"`' example: eharley webPwd: type: - string - 'null' description: 'Account holder''s password for the website hosted by SoFi Tech Solutions. Pattern: Min 8 characters: must include upper-case character, lower-case character, and a number Example: `"4j9KH3kkdh"`' example: 4j9KH3kkdh secretQuestion: type: - string - 'null' maximum: 50 pattern: ^[A-Za-z0-9_\'\s\?]*$ description: 'Account holder''s secret question for the website hosted by SoFi Tech Solutions. Pattern: Max 50 characters: letters, spaces, `?` Example: `"What was the name of your first pet?"`' example: What was the name of your first pet? secretAnswer: type: - string - 'null' maximum: 50 description: 'Account holder''s answer to `secretQuestion`. Pattern: Max 50 characters: letters, spaces, `?` Example: `"Larry"`' example: Larry monthlyIncome: type: - number - 'null' format: float default: 0 minimum: 0 maximum: 9999999999 description: 'Monthly income for the account holder. Pattern: Float between 0 and 9999999999 Example: `3400.00`' example: 25.99 monthlyLiab: type: - number - 'null' format: float default: 0 minimum: 0 maximum: 999999999999.99 description: 'Currency amount as a whole or decimal amount. Pattern: Positive integer or decimal number Example: `100.00`, `100`, or `100.73`' example: 25.99 businessName: type: - string - 'null' description: 'Account holder''s business name. This field is **required** if `prodId` is a business product. Pattern: 2–150 characters. See the supported character set. Example: `"Ed%26Ted"`' example: Ed pattern: ^[A-Za-z0-9_\s\'-\.,\?@&\!#~\*;\+ '-]*$ required: - transactionId - apiLogin - apiTransKey - providerId summary: Update Enrollment description: 'Use the Update Enrollment endpoint to update customer profile information for an enrollment that was created using Start Enrollment. > 📘 Note > > Validation on an SSN is limited to a length check.' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: max_credit_limit: type: string description: Maximum credit limit required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.081,\n \"response_data\": {},\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"GXC81KW7MEF297N9OQGV\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:38:13\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 2025-07-13 10:38:13\n \n 0.081\n \n GXC81KW7MEF297N9OQGV\n \n \n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n" description: '' operationId: post_updateenrollment /verifyEnrollment: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 id: type: - string - 'null' description: 'The value of the primary identifier that is specified in `idType`. Product settings determine whether this ID should be unique across the program or product. This parameter is **required** when using the SoFi Tech Solutions legacy <> solution. The system converts all letters to lowercase. Pattern: As specified in the **Layout** column of the Customer ID Types enumeration Example: `"123456789"`' example: '123456789' idType: type: - integer - 'null' format: int32 enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 description: 'Specifies the type of primary identifier in the `id` parameter. This parameter is **required** when `id` is populated. See the **`idType`** column in the Customer ID Types table for valid values. Pattern: Integer Example: `2`' example: 2 required: - transactionId - apiLogin - apiTransKey - providerId summary: Verify Enrollment description: Use the Verify Enrollment endpoint to look up an existing enrollment by `transactionId` or `id` to view information and status. The endpoint returns enrollment data, enrollment date, and `transactionID` of the initial enrollment, when the enrollment was initiated with the Start Enrollment or Create Account endpoint. responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: processed_date: type: - string - 'null' format: date-time description: Timestamp for when the response data was processed app_trans_id: type: - string - 'null' format: date-time description: Identifier for the enrollment application max_credit_limit: type: - number - 'null' format: float description: Maximum credit limit application: description: A data structure for the information contained in an application type: object properties: appId: type: string description: Identifier for the enrollment application appDate: type: - string - 'null' format: date-time description: Timestamp for the application transaction prodId: type: integer format: int32 description: Identifier for the product associated with the account id: type: - string - 'null' description: The customer ID type idType: type: - integer - 'null' format: int32 description: Description of the ID type specified in the `id` response field id2: type: - string - 'null' description: The customer ID type for a secondary ID idType2: type: - integer - 'null' format: int32 description: Description of the ID type specified in the `id2` response field locale: type: - string - 'null' description: The account holder's language and localization preference firstName: type: - string - 'null' description: Account holder's first name middleName: type: - string - 'null' description: Account holder's middle name lastName: type: - string - 'null' description: Account holder's last name dateOfBirth: type: - string - 'null' description: Account holder's date of birth address1: type: - string - 'null' description: First line of the account holder's address address2: type: - string - 'null' description: Second line of the account holder's address city: type: - string - 'null' description: Account holder's city state: type: - string - 'null' description: Account holder's state postalCode: type: - string - 'null' description: Account holder's postal code expressMail: type: - string - 'null' description: 'Indicates which express mail value has been set for this card ' primaryPhone: type: - string - 'null' description: Account holder's primary phone number mobilePhone: type: - string - 'null' description: Account holder's mobile phone number mobileCarrierId: type: - string - 'null' description: Identifier for the mobile phone service provider otherPhone: type: - string - 'null' description: Account holder's other phone number email: type: - string - 'null' description: Account holder's email address userData: type: - string - 'null' description: Data associated with the account that you supply. This data is external to the system. monthlyIncome: type: - string - 'null' description: Account holder's gross income for one month monthlyLiab: type: - string - 'null' description: Account holder's total liabilities for one month required: - address1 - address2 - appDate - appId - city - dateOfBirth - email - expressMail - firstName - id - id2 - idType - idType2 - lastName - locale - middleName - mobileCarrierId - mobilePhone - monthlyIncome - monthlyLiab - otherPhone - postalCode - primaryPhone - prodId - state - userData required: - app_trans_id - application - processed_date required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.029,\n \"response_data\": {\n \"processed_date\": null,\n \"app_trans_id\": \"06077879-1451-4dd8-a0bc-23de1ab5490a\",\n \"application\": {\n \"appId\": \"2132395\",\n \"appDate\": \"2025-07-15 14:09:58\",\n \"prodId\": \"11981\",\n \"idType\": \"2\",\n \"id\": \"987451235\",\n \"idType2\": \"\",\n \"id2\": \"\",\n \"locale\": \"EN\",\n \"firstName\": \"Jerome\",\n \"middleName\": \"T\",\n \"lastName\": \"Pushey\",\n \"dateOfBirth\": \"1951-05-12\",\n \"address1\": \"6510 S Millrock Dr\",\n \"address2\": \"Suite 300\",\n \"city\": \"Salt Lake City\",\n \"state\": \"UT\",\n \"postalCode\": \"84121\",\n \"expressMail\": \"1\",\n \"primaryPhone\": \"\",\n \"otherPhone\": \"\",\n \"mobilePhone\": \"8013650000\",\n \"mobileCarrierId\": \"6\",\n \"email\": \"jpushey@tech.sofi.com\",\n \"userData\": \"\",\n \"monthlyIncome\": \"5000\",\n \"monthlyLiab\": \"1000\"\n }\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"06077879-1451-4dd8-a0bc-23de1ab5490a\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 15:08:45\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.029\n \n \n 06077879-1451-4dd8-a0bc-23de1ab5490a\n \n 2132397\n 2025-07-15 14:09:59\n 11981\n 2\n 987451235\n \n \n EN\n Jerome\n T\n Pushey\n 1951-05-12\n 6510 S Millrock Dr\n Suite 300\n Salt Lake City\n UT\n 84121\n 1\n \n \n 8013650000\n 6\n jpushey@tech.sofi.com\n \n 5000\n 1000\n \n \n \n \n \n 06077879-1451-4dd8-a0bc-23de1ab5490a\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 15:08:46\n" description: '' operationId: post_verifyenrollment /completeEnrollment: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 location: type: - string - 'null' maximum: 20 description: 'Unique location identifier (`location`) as returned by the Create Location endpoint. This value is also returned by the Get Locations 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"`' example: a455-3483 accountNo: type: string pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: 'The <> or <> of the account. Pattern: PRN or PAN Example: `"074103447228"`' example: 074103447228 prodId: type: integer format: int32 minimum: 0 maximum: 100000000 description: 'A unique product identifier from SoFi Tech Solutions. If this ID is for a business product then `businessName` is **required**. Pattern: Integer Example: `501`' example: 501 locationType: type: - integer - 'null' format: int32 enum: - 0 - 1 - 2 description: 'Type of ID in `location`: * `0` — SoFi Tech Solutions location ID * `1` — Partner location ID * `2` — Don''t validate Pattern: Integer Example: `1`' example: 1 sharedBalance: type: - integer - 'null' format: int32 enum: - 0 - 1 description: 'Specifies whether the secondary account will share the balance of the primary account. This parameter is **required** when `primaryAccount` is populated. Do not set this parameter to `1` when `primaryAccount` is not populated. * `0` — Do not share the balance * `1` — Share the balance Pattern: Integer Example: `1`' example: 1 offline: type: - integer - 'null' format: int32 enum: - 0 - 1 description: 'Pass `1` for an offline transaction. Pattern: Integer Example: `1`' example: 1 primaryAccount: type: - string - 'null' pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: '<> or <> of the primary account to associate this account with. Populate this parameter only when creating a secondary account. Pattern: PAN or PRN Example: `"123456789012"`' example: 074103447228 externalAccountId: type: - string - 'null' maximum: 30 pattern: ^[a-zA-Z0-9\-]*$ description: 'User-supplied identifier that is related to an external system. This ID is stored in the system in association with this account and can be provided in the <>s. Pattern: Max 30 alphanumeric characters. Lowercase only. Example: `"553b45sbs"`' example: 553b45sbs embossLine2: type: - string - 'null' maximum: 28 pattern: ^[a-zA-Z0-9_\s\'"!\?]*$ description: 'Second line to emboss on the card. Pattern: Supported characters Example: `"Scarlet Ibis Shipping"`' example: Scarlet Ibis Shipping fundingAccountNo: type: - string - 'null' pattern: ^$|^([0-9]{12})$ description: 'PRN of the <> funding account. **Required** if `prodId` is an RTF spending product. Pattern: 12-digit numeric string Example: `"143101204201"`' example: '143101204201' required: - prodId - transactionId - apiLogin - apiTransKey - providerId summary: Complete Enrollment description: 'Use the Complete Enrollment endpoint to finalize an incomplete enrollment that was begun by Start Enrollment or Create Account. You must pass the same `transactionId` as the original Start Enrollment or Create Account request. > 📘 Note > > If this endpoint returns a status code that does not match a status code that is specific to this endpoint, it may be an enrollment status code. See Enrollment Statuses for more information.' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: new_account: description: Acts as a logical separator if multiple accounts are created with the same request type: object properties: pmt_ref_no: type: string description: Payment reference number. product_id: type: string description: Identifier for the product associated with the account galileo_account_number: type: string description: System-generated balance ID card_id: type: - string - 'null' description: System-generated card identifier (CAD). Use this ID instead of the PAN if not PCI-compliant. `None` means that no card was created cip: type: - array - 'null' description: List of cardholder identification process (CIP) objects items: type: object properties: status: type: string description: Status of the CIP process model_results: type: array description: List of model objects items: type: object properties: model_name: type: - string - 'null' description: _Legacy CIP only_. The model name model_version: type: - integer - 'null' format: int32 description: _Legacy CIP only_. Version number for the model used code: type: - string - 'null' description: _Legacy CIP only_. In a model run, lists the pass number text: type: - string - 'null' description: _Legacy CIP only_. Plaintext description of the code value required: - code - model_name - model_version - text date_time: type: string format: date-time description: The date and time CIP was run required: - date_time - model_results - status required: - card_id - cip - galileo_account_number - pmt_ref_no - product_id required: - new_account required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.279,\n \"response_data\": [\n {\n \"pmt_ref_no\": \"999800025640\",\n \"product_id\": \"2222\",\n \"galileo_account_number\": \"5012357\",\n \"cip\": null,\n \"card_id\": \"14861156\"\n }\n ],\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"dd5c35ba-bf80-4058-9e03-203388a31395\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 13:41:55\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.279\n \n \n 999800025640\n 2222\n 5012357\n \n 14861156\n \n \n \n \n \n dd5c35ba-bf80-4058-9e03-203388a31395\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2027-07-15 13:41:55\n\n" description: '' operationId: post_completeenrollment /runEnrollmentCip: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 id: type: - string - 'null' description: 'The value of the primary identifier that is specified in `idType`. Product settings determine whether this ID should be unique across the program or product. This parameter is **required** when using the SoFi Tech Solutions legacy <> solution. The system converts all letters to lowercase. Pattern: As specified in the **Layout** column of the Customer ID Types enumeration Example: `"123456789"`' example: '123456789' idType: type: - integer - 'null' format: int32 enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 description: 'Specifies the type of primary identifier in the `id` parameter. This parameter is **required** when `id` is populated. See the **ID** column in the Customer ID Types table for valid values. Pattern: 1- or 2-digit integer Example: `"123456789"`' example: '123456789' required: - transactionId - apiLogin - apiTransKey - providerId summary: Run Enrollment CIP description: 'Use the Run Enrollment CIP endpoint to run or re-run the > process on an existing customer. This endpoint is not integrated with >. > 📘 Note > > Validation on an SSN is limited to a length check.' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: 'A structure for the response data. It can be empty but usually will contain information. ' type: - object - 'null' properties: cip: type: array items: description: List of cardholder identification process (CIP) objects type: object properties: status: type: string description: Status of the CIP process model_results: type: - array - 'null' description: _Legacy CIP only_. List of model objects items: type: object properties: model_name: type: - string - 'null' description: _Legacy CIP only_. The model name model_version: type: - integer - 'null' format: int32 description: _Legacy CIP only_. Version number for the model used code: type: - string - 'null' description: _Legacy CIP only_. In a model run, lists the pass number text: type: - string - 'null' description: _Legacy CIP only_. Plaintext description of the code value required: - code - model_name - model_version - text date_time: type: string format: date-time description: _Legacy CIP only_. The date and time CIP was run first_name: type: - string - 'null' description: _Legacy CIP only_. Account holder's first name middle_name: type: - string - 'null' description: _Legacy CIP only_. Account holder's middle name last_name: type: - string - 'null' description: _Legacy CIP only_. Account holder's last name address_1: type: - string - 'null' description: _Legacy CIP only_. First line of the account holder's address address_2: type: - string - 'null' description: _Legacy CIP only_. Second line of the account holder's address city: type: - string - 'null' description: _Legacy CIP only_. Account holder's city state: type: - string - 'null' description: _Legacy CIP only_. Account holder's state primary_phone: type: - string - 'null' description: _Legacy CIP only_. Account holder's primary phone number other_phone: type: - string - 'null' description: _Legacy CIP only_. Account holder's other phone number required: - date_time - model_results - status required: - cip required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.202,\n \"response_data\": {\n \"cip\": [\n {\n \"status\": \"Pass\",\n \"model_results\": {\n \"model_name\": \"METALN\",\n \"model_version\": \"1\",\n \"code\": \"Pass 01\",\n \"text\": \"SSN Matches Address\"\n },\n \"date_time\": \"2025-07-13 10:38:05\"\n },\n {\n \"status\": \"Pass\",\n \"model_results\": {\n \"model_name\": \"METALN\",\n \"model_version\": \"1\",\n \"code\": \"Pass 01\",\n \"text\": \"SSN Matches Address\"\n },\n \"date_time\": \"2025-07-13 10:38:04\"\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"R0TW9RF5X6MK9OO3WU57\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:38:05\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 2025-07-13 10:38:05\n \n \n \n Pass\n \n \n METALN\n 1\n Pass 01\n SSN Matches Address\n \n \n 2025-07-13 10:38:05\n \n \n Pass\n \n \n METALN\n 1\n Pass 01\n SSN Matches Address\n \n \n 2025-07-13 10:38:04\n \n \n \n 0.282\n \n 90TWR5X6MUFOR57K9O3W\n \n \n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n" description: '' operationId: post_runenrollmentcip /runCip: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^.+$ description: 'The <> or <> of the account. Pattern: PAN or PRN Example: `"074103447228"`' example: 074103447228 required: - accountNo - transactionId - apiLogin - apiTransKey - providerId summary: Run CIP description: Use the Run CIP endpoint to run the legacy > process on a customer who has already been enrolled. Do not use this endpoint if you are using your own CIP provider. This endpoint is not integrated with >. responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: cip_result_indicator: type: - string - 'null' description: A flag that indicates whether a CIP result exists in the response cip_result: type: array items: description: A data structure that contains data fields around a CIP result type: object properties: status: type: string description: Status of the CIP process model_results: type: - array - 'null' description: _Legacy CIP only_. List of model objects items: type: object properties: model_name: type: - string - 'null' description: _Legacy CIP only_. The model name model_version: type: - integer - 'null' format: int32 description: _Legacy CIP only_. Version number for the model used code: type: - string - 'null' description: _Legacy CIP only_. In a model run, lists the pass number text: type: - string - 'null' description: _Legacy CIP only_. Plaintext description of the code value required: - code - model_name - model_version - text date_time: type: string format: date-time description: _Legacy CIP only_. The date and time CIP was run first_name: type: - string - 'null' description: _Legacy CIP only_. Account holder's first name middle_name: type: - string - 'null' description: _Legacy CIP only_. Account holder's middle name last_name: type: - string - 'null' description: _Legacy CIP only_. Account holder's last name address_1: type: - string - 'null' description: _Legacy CIP only_. First line of the account holder's address address_2: type: - string - 'null' description: _Legacy CIP only_. Second line of the account holder's address city: type: - string - 'null' description: _Legacy CIP only_. Account holder's city state: type: - string - 'null' description: _Legacy CIP only_. Account holder's state primary_phone: type: - string - 'null' description: _Legacy CIP only_. Account holder's primary phone number other_phone: type: - string - 'null' description: _Legacy CIP only_. Account holder's other phone number required: - date_time - model_results - status required: - cip_result - cip_result_indicator required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.202,\n \"response_data\": {\n \"cip_result_indicator\": \"Y\",\n \"cip_result\": [\n {\n \"status\": \"Pass\",\n \"model_results\": {\n \"model_name\": \"BancorpPIDC\",\n \"model_version\": \"1\",\n \"code\": \"Pass A\",\n \"text\": \"Pass A\"\n },\n \"date_time\": \"2025-07-13 10:38:04\"\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"LTQ4T4G0DMQN5OTQ4C6X\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:38:04\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.218\n \n Y\n \n \n Pass\n \n \n BancorpPIDC\n 1\n Pass A\n Pass A\n \n \n 2025-07-13 12:29:22\n \n \n \n \n \n \n RTV564029YECS7Z8NW98\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:29:22\n" description: '' operationId: post_runcip /createVirtualCard: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: summary: Create Virtual Card Account description: 'Use the Create Virtual Card Account endpoint to create a virtual card account for a new customer. To create any other type of account for a new customer use the Create Account endpoint. Create Virtual Account is similar to Create Account except that it accepts only virtual card product IDs for `prodId`. Consult the Creating an Account procedure for instructions on using this endpoint, and consult the Customer ID Verification guide for how to use this endpoint with the SoFi Tech Solutions legacy CIP solution. [block:callout] { "type": "info", "title": "Note", "body": "You must be PCI-compliant to use this endpoint. If you are not PCI compliant, use the Create Account endpoint and specify a virtual card product for `prodId`." } [/block] [block:callout] { "type": "info", "title": "Note", "body": "If this endpoint returns a status code that does not match a status code that is specific to this endpoint, it may be an enrollment status code. See Enrollment Statuses for more information." } [/block]' parameters: [] tags: - Accounts and Cards requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 prodId: type: integer format: int32 minimum: 0 maximum: 100000000 description: 'A unique product identifier from SoFi Tech Solutions. If this ID is for a business product then `businessName` is **required**. Pattern: Integer Example: `501`' example: 501 id: type: - string - 'null' description: 'The value of the primary identifier that is specified in `idType`. Product settings determine whether this ID should be unique across the program or product. This parameter is **required** when using the SoFi Tech Solutions legacy <> solution. The system converts all letters to lowercase. Pattern: As specified in the **Layout** column of the Customer ID Types enumeration Example: `"123456789"`' example: '123456789' idType: type: - integer - 'null' format: int32 minimum: 1 maximum: 15 description: 'Specifies the type of primary identifier in the `id` parameter. This parameter is **required** when `id` is populated. See the **ID** column in the Customer ID Types table for valid values. Pattern: Integer Example: `2`' example: 2 id2: type: - string - 'null' description: 'The value of the secondary identifier that is specified in `idType2`. The system converts all letters to lowercase. Pattern: As specified in the **Layout** column of the Customer ID Types enumeration Example: `"123456789012|ut|12/25/2020"`' example: 123456789012|ut|12/25/2020 idType2: type: - integer - 'null' format: int32 minimum: 1 maximum: 15 description: 'Specifies the type of secondary identifier in the `id2` parameter. This parameter is **required** when `id2` is populated. See the **ID** column in the Customer ID Types table for valid values. Pattern: Integer Example: `1`' example: 1 locale: type: - string - 'null' enum: - en_US - es_US - en_CA - fr_CA - es_MX - en_MX description: 'The account holder language and localization preference. If the account holder address is outside the U.S., pass a non `_US` value for this parameter to disable U.S. address validation. Pattern: String Example: `"en_US"`' example: en_US firstName: type: - string - 'null' minimum: 1 maximum: 40 description: 'Account holder''s first name. Special character support. Pattern: 1–40 characters: letters (`A-Z`, `a-z`), spaces, hyphens (`-`) and single quotes (`''`) Example: `"Ed"`' example: Ed middleName: type: - string - 'null' minimum: 1 maximum: 40 description: 'Account holder''s middle name. Special character support. Pattern: 1–40 characters: letters (`A-Z`, `a-z`), spaces, hyphens (`-`) and single quotes (`''`) Example: `"W"`' example: W lastName: type: - string - 'null' minimum: 1 maximum: 40 description: 'Account holder''s last name. Special character support. Pattern: 1–40 characters: letters (`A-Z`, `a-z`), spaces, hyphens (`-`) and single quotes (`''`) Example: `"Harley"`' example: Harley dateOfBirth: type: - string - 'null' format: date-time description: 'Account holder''s birth date. This date is compared with the DOB product parameter when there is a minimum age requirement on the account. Pattern: YYYY-MM-DD Example: `"1980-01-01"`' example: '1980-01-01' address1: type: - string - 'null' description: 'Account holder''s first address line. Cannot be a P.O. box. Validation rules for `address1`. Pattern: 4–40 alphanumeric characters Example: `"33 Maple Street"`' example: 33 Maple Street address2: type: - string - 'null' description: "Account holder's second address line. \nPattern: Max 40 alphanumeric characters and address symbols\nExample: `\"#4B\"`" example: '#4B' address3: type: - string - 'null' description: "Account holder's third address line. \nPattern: Max 30 alphanumeric characters and address symbols\nExample: `\"Carrera Central\"`" example: Carrera Central address4: type: - string - 'null' description: "Account holder's fourth address line. \nPattern: Max 30 alphanumeric characters and address symbols\nExample: `\"Barrio El Alhambra\"`" example: Barrio El Alhambra address5: type: - string - 'null' description: "Account holder's fifth address line. \nPattern: Max 30 alphanumeric characters and address symbols\nExample: `\"Piso 3\"`" example: Piso 3 city: type: - string - 'null' description: 'Account holder''s city. Pattern: Max 30 characters: letters, spaces, hyphen and period Example: `"Salt Lake City"`' example: Salt Lake City state: type: - string - 'null' description: "Account holder's state or province. \nPattern: String\nExample: `\"UT\"`" example: UT postalCode: type: - string - 'null' minimum: 4 maximum: 10 pattern: ^[a-zA-Z0-9\-\ ]*$ description: 'Account holder''s postal code (ZIP code). Pattern: `12345`, `12345-1234`, or `K1A-1A1` Example: `"84121"`' example: '84121' countryCode: type: - string - 'null' pattern: ^\d{3}$ description: 'Account holder''s country. Three-digit UN M49 code, such as `840` for USA, `124` for Canada, `484` for Mexico, `170` for Colombia. Pattern: 3-digit number Example: `"840"`' example: '840' primaryPhone: type: - string - 'null' pattern: ^([0-9]+)$ description: 'Account holder''s primary phone number. Pattern: Validation according to the value in `mobilePhoneCountryCode`. Example: `"8013656060"`' example: '8013656060' otherPhone: type: - string - 'null' pattern: ^([0-9]+)$ description: 'Account holder''s secondary phone number. Pattern: Validation according to the value in `mobilePhoneCountryCode`. Example: `"8013656060"`' example: '8013656060' mobilePhone: type: - string - 'null' pattern: ^([0-9]+)$ description: 'Account holder''s mobile phone number. Pattern: Validation according to the value in `mobilePhoneCountryCode`. Example: `"8013656060"`' example: '8013656060' mobileCarrierId: type: - string - 'null' description: 'Account holder''s mobile carrier. Configurable list. Pattern: Configurable list Example: `"8"`' example: '8' email: type: - string - 'null' format: email minLength: 3 maxLength: 63 description: 'Account holder''s email Pattern: Email address, 3–63 characters Example: `"user@fakedomain.com"`' example: user@fakedomain.com webUid: type: - string - 'null' minimum: 4 maximum: 30 pattern: ^[a-zA-Z0-9]+(?:[_-][a-zA-Z0-9]+)*$ description: 'Account holder''s username for the website hosted by SoFi Tech Solutions. Must be unique across the program. Pattern: Alphanumeric, with first character a letter; case insensitive Example: `"eharley"`' example: eharley webPwd: type: - string - 'null' description: 'Account holder''s password for the website hosted by SoFi Tech Solutions. Pattern: Min 8 characters: must include upper-case character, lower-case character, and a number Example: `"4j9KH3kkdh"`' example: 4j9KH3kkdh secretQuestion: type: - string - 'null' maximum: 50 pattern: ^[A-Za-z0-9_\'\s\?]*$ description: 'Account holder''s secret question for the website hosted by SoFi Tech Solutions. Pattern: Max 50 characters: letters, spaces, `?` Example: `"What was the name of your first pet?"`' example: What was the name of your first pet? secretAnswer: type: - string - 'null' maximum: 50 description: 'Account holder''s answer to `secretQuestion`. Pattern: Max 50 characters: letters, spaces, `?` Example: `"Larry"`' example: Larry loadAmount: type: - number - 'null' format: float minimum: 0.01 maximum: 999999999999.99 description: 'Currency amount passed as a whole or decimal amount. Initial load amount on a card must be within product load limits or be the designated amount for an instant-issue card. Pattern: Positive integer or decimal number Example: `100.00`, `100` or `100.73`' example: 25.5 loadType: type: - string - 'null' maximum: 2 pattern: ^[a-zA-Z0-9]*$ description: 'Transaction type for the `loadAmount`. Use values from your list of load types from SoFi Tech Solutions. If no `loadType` is specified, the default type `RL` is used. Pattern: 2 characters Example: `"RL"`' example: RL externalAccountId: type: - string - 'null' maximum: 30 pattern: ^[a-zA-Z0-9\-]*$ description: 'Identifier supplied by the provider, which is not related to the system. This ID is stored in the system in association with this account and can be provided in the <>s. Pattern: Max 30 alphanumeric characters. Lowercase only. Example: `"553b45sbs"`' example: 553b45sbs primaryAccount: type: - string - 'null' pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: '<> or <> of the primary account to associate this account with. Populate this parameter only when creating a secondary account. Pattern: PAN or PRN Example: `"123456789012"`' example: 074103447228 sharedBalance: type: - integer - 'null' format: int32 enum: - 0 - 1 description: 'Specifies whether the secondary account will share the balance of the primary account. This parameter is **required** when `primaryAccount` is populated. Do not set this parameter to `1` when `primaryAccount` is not populated. * `0` — Do not share the balance * `1` — Share the balance Pattern: Integers Example: `1`' example: 1 userData: type: - string - 'null' maximum: 50 pattern: ^[a-zA-Z0-9 ]*$ description: 'Data supplied by the provider, from sources external to the system. This data will be stored in the system in association with this account. The most common use of this parameter is to track affiliate-marketing traffic. The data in this field can be added to an <>. Pattern: Max 50 alphanumeric characters and spaces Example: `"a4434gg44"`' example: a4434gg44 verifyOnly: type: - integer - 'null' format: int32 enum: - 0 - 1 description: 'Pass `1` to test the validity of the parameter data without committing the information to the system. Pattern: Integer Example: `1`' example: 1 loadFromAccountNo: type: - string - 'null' pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: 'To load funds into the account at the time of account creation, specify the <> or <> of the source account for the funds. This account must be in the same program as the account being created. Pattern: PAN or PRN Example: `"074103447228"`' example: 074103447228 sweepDate: type: - string - 'null' format: date-time description: 'The last date that a daily sweep should be performed. This parameter is valid only if account sweeping is configured for the product. Pattern: YYYY-MM-DD Example: `"2016-01-01"`' example: '2016-01-01' creditLimit: type: - number - 'null' minimum: 0 description: 'Credit limit for card based spending control (currently only available for credit processing). Pattern: Monetary amount greater than 0. Example: `500.25`' example: 500.25 singleUse: type: - string - 'null' enum: - Y - N description: 'Spending control parameter that flags card for one purchasing transaction (currently only available for credit processing). Pattern: String Example: `"Y"`' example: Y businessName: type: - string - 'null' description: 'Account holder''s business name. This field is **required** if `prodId` is a business product. Pattern: 2-150 characters. See the supported character set. Example: `"Ed%26Ted"`' example: Ed mobilePhoneCountryCode: type: - string - 'null' minimum: 2 maximum: 4 pattern: ^\+[0-9]*$ description: "Account holder's mobile phone country code.\nPattern: A plus sign followed by 1–3 digits. See Phone Validation for valid values. \nExample: `\"+1\"`" example: '+1' required: - prodId - transactionId - apiLogin - apiTransKey - providerId responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: type: array description: A structure for the response data. It can be empty but usually will contain information. items: type: object properties: pmt_ref_no: type: string description: Payment reference number. product_id: type: string description: Identifier for the product associated with the account galileo_account_number: type: string description: System-generated balance ID card_id: type: - string - 'null' description: System-generated card identifier (CAD). Use this ID instead of the PAN if not PCI-compliant. `None` means that no card was created card_number: type: - string - 'null' description: The primary account number (PAN) printed on the card expiry_date: type: - string - 'null' description: Date when the card expires card_security_code: type: - string - 'null' description: The card verification value (CVV2) cip: type: - array - 'null' description: List of cardholder identification process (CIP) objects items: type: object properties: status: type: string description: Status of the CIP process model_results: type: - array - 'null' description: List of model objects items: type: object properties: model_name: type: - string - 'null' description: The model name model_version: type: - integer - 'null' format: int32 description: Version number for the model used code: type: - string - 'null' description: In a model run, lists the pass number text: type: - string - 'null' description: Plain text description of the code value required: - code - model_name - model_version - text date_time: type: string format: date-time description: The date and time CIP was run first_name: type: - string - 'null' description: Account holder's first name middle_name: type: - string - 'null' description: Account holder's middle name last_name: type: - string - 'null' description: Account holder's last name address_1: type: - string - 'null' description: First line of the account holder's address address_2: type: - string - 'null' description: Second line of the account holder's address city: type: - string - 'null' description: Account holder's city state: type: - string - 'null' description: Account holder's state primary_phone: type: - string - 'null' description: Account holder's primary phone number other_phone: type: - string - 'null' description: Account holder's other phone number required: - date_time - model_results - status billing_cycle_day: type: - integer - 'null' format: int32 description: The day of the month the billing cycle starts for the account required: - billing_cycle_day - card_id - card_number - card_security_code - cip - expiry_date - galileo_account_number - pmt_ref_no - product_id required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.916,\n \"response_data\": [\n {\n \"pmt_ref_no\": \"001109456010\",\n \"product_id\": \"1665\",\n \"galileo_account_number\": \"462881\",\n \"cip\": [\n {\n \"status\": \"Pass\",\n \"model_results\": [\n {\n \"model_name\": \"BancorpPIDC\",\n \"model_version\": \"3\",\n \"code\": \"Pass A\",\n \"text\": \"Pass A\"\n }\n ],\n \"date_time\": \"2025-07-13 10:37:52\"\n }\n ],\n \"card_id\": \"850238\",\n \"card_number\": \"4870930116312056\",\n \"expiry_date\": \"2025-07-13\",\n \"card_security_code\": \"123\"\n }\n ],\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"RSNU68AN366U7I1UT8JQ\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:37:52\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.717\n \n \n 001109458792\n 1665\n 463167\n \n \n Pass\n \n \n BancorpPIDC\n 3\n Pass A\n Pass A\n \n \n 2025-07-13 12:32:54\n \n \n 850527\n 4870930116314946\n 2025-07-13\n 123\n \n \n \n \n \n UWMMMN71QNNIXE64U4TG\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:32:54\n" description: '' operationId: post_createvirtualcard /forcePassCip: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^.+$ description: 'The <> or <> of the account. Pattern: PAN or PRN Example: `"074103447228"`' example: 074103447228 required: - accountNo - transactionId - apiLogin - apiTransKey - providerId summary: Force Pass CIP description: 'Use the Force Pass CIP endpoint to move a customer account into `status: N` and `active: Y`. This endpoint is valid only if you are using the legacy > method and you verify customer documents when the customer fails CIP. Do not use this endpoint if you are using your own CIP provider or if SoFi Tech Solutions verifies customer documents. This endpoint is not integrated with >. Consult the Creating an Account procedure for instructions on using this endpoint.' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. This endpoint does not return response data, so it will always be empty. type: object properties: {} required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.46517252922058105,\n \"response_data\": {},\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"6e65bdca-0f44-4380-8aee-38249bdaba43\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 14:05:39\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.04863715171813965\n \n \n \n \n 4b97910c-c89b-41a4-b87c-25bebc5045e4\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 14:05:40\n" description: '' operationId: post_forcepasscip /getAccountFeatures: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: "The <> or <> of the account.\nPattern: PAN or PRN \nExample: `\"074103447228\"`" example: 074103447228 required: - accountNo - transactionId - apiLogin - apiTransKey - providerId summary: Get Account Features description: Use the Get Account Features endpoint to retrieve the account features that are set for the specified customer account. responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: features: type: array description: List of feature objects items: description: A data structure that contains information about one or more features. type: object properties: type: type: integer format: int32 description: Identifier for the feature type name: type: - string - 'null' description: Description of the feature type specified in the `type` field value: type: - string - 'null' description: A value associated with the feature type specified in the `type` field start_date: type: - string - 'null' format: date description: The feature start date end_date: type: - string - 'null' format: date description: The feature end date required: - end_date - name - start_date - type - value required: - features required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.057,\n \"response_data\": {\n \"features\": [\n {\n \"type\": 3,\n \"name\": \"Product ID\",\n \"value\": \"88\",\n \"start_date\": null,\n \"end_date\": null\n },\n {\n \"type\": 5,\n \"name\": \"Express mail\",\n \"value\": \"N\",\n \"start_date\": null,\n \"end_date\": null\n },\n {\n \"type\": 6,\n \"name\": \"Allow card not present transactions\",\n \"value\": \"Y\",\n \"start_date\": \"2025-04-04\",\n \"end_date\": \"3000-01-01\"\n },\n {\n \"type\": 8,\n \"name\": \"Allow international transactions\",\n \"value\": \"Y\",\n \"start_date\": \"2025-07-13\",\n \"end_date\": \"3000-01-01\"\n },\n {\n \"type\": 14,\n \"name\": \"Disable Dynamic Fraud Rules\",\n \"value\": \"N\",\n \"start_date\": \"2025-04-04\",\n \"end_date\": \"2025-04-04\"\n },\n {\n \"type\": 20,\n \"name\": \"Token Transactions Only\",\n \"value\": \"N\",\n \"start_date\": \"2025-07-13\",\n \"end_date\": \"3000-01-01\"\n },\n {\n \"type\": 21,\n \"name\": \"Token Transactions when Card Present Only\",\n \"value\": \"N\",\n \"start_date\": \"2025-07-13\",\n \"end_date\": \"3000-01-01\"\n },\n {\n \"type\": 22,\n \"name\": \"Block Token Transactions\",\n \"value\": \"N\",\n \"start_date\": \"2025-07-13\",\n \"end_date\": \"3000-01-01\"\n },\n {\n \"type\": 23,\n \"name\": \"First Delinquent Date\",\n \"value\": \"07132020\",\n \"start_date\": \"2025-07-13\",\n \"end_date\": \"3000-01-01\"\n },\n {\n \"type\": 24,\n \"name\": \"Delinquency Amount\",\n \"value\": \"187.63\",\n \"start_date\": \"2025-07-13\",\n \"end_date\": \"3000-01-01\"\n },\n {\n \"type\": 25,\n \"name\": \"Emboss line 2\",\n \"value\": \"Emboss Line 2\",\n \"start_date\": \"2025-07-13\",\n \"end_date\": \"3000-01-01\"\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"JSGZR1UJVV87KCTX0XVD\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:39:08\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.075\n \n \n \n 3\n Product ID\n 88\n \n \n \n \n 5\n Express mail\n N\n \n \n \n \n 6\n Allow card not present transactions\n Y\n 2025-04-04\n 3000-01-01\n \n \n 8\n Allow international transactions\n Y\n 2025-07-13\n 3000-01-01\n \n \n 14\n Disable Dynamic Fraud Rules\n N\n 2025-04-04\n 2025-04-04\n \n \n 20\n Token Transactions Only\n N\n 2025-07-13\n 3000-01-01\n \n \n 21\n Token Transactions when Card Present Only\n N\n 2025-07-13\n 3000-01-01\n \n \n 22\n Block Token Transactions\n N\n 2025-07-13\n 3000-01-01\n \n \n 23\n First Delinquent Date\n 07132020\n 2025-07-13\n 3000-01-01\n \n \n 24\n Delinquency Amount\n 187.63\n 2025-07-13\n 3000-01-01\n \n \n 25\n Emboss line 2\n Emboss Line 2\n 2025-07-13\n 3000-01-01\n \n \n \n \n \n \n 4TLV2QP7VWLSOLW9JRIY\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:32:31\n" description: '' operationId: post_getaccountfeatures /setAccountFeature: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^.+$ description: 'The <>, <> or <> of the account. Pattern: PAN, PRN, or CAD Example: `"074103447228"`' example: 074103447228 featureType: type: integer format: int32 minimum: 0 maximum: 999 description: 'Consult the **featureType** column in the Set Account Feature Values table for valid values. Pattern: Integer Example: `3`' example: 3 featureValue: type: - string - 'null' pattern: ^[\w\W\s\d\|_\. '`\?,!@\$%#\"\/\-=~]{1,255}$ description: 'Consult the **featureValue** column in the Set Account Feature Values table for valid values. Pattern: As specified in the **featureValue** column Example: `Y`' example: Y startDate: type: - string - 'null' format: date-time description: 'The starting date-time for the date range. Default: current date-time Pattern: YYYY-MM-DD hh:mm:ss Example: `"2016-01-01 10:10:15"`' example: '2016-01-01 10:10:15' endDate: type: - string - 'null' format: date-time description: 'The ending date-time for the date range; must be equal to or later than `startDate`. Default: 3000-01-01 00:01:00 Pattern: YYYY-MM-DD hh:mm:ss Example: `"2016-02-01 10:10:10"`' example: '2016-02-01 10:10:10' required: - accountNo - featureType - transactionId - apiLogin - apiTransKey - providerId summary: Set Account Feature description: 'Use the Set Account Feature endpoint to set or modify specified attributes of a customer account. * When enabling and disabling fraud rules (`featureType: 14`), keep in mind that if you pass `featureValue: Y` and do not pass `endDate`, the end date is set to 3000-01-01, meaning that fraud rules are suspended indefinitely. To update the timespan for fraud-rule suspension, pass `featureValue: Y` and the new start and/or end date-times. To immediately re-enable fraud rules, pass `featureValue: N`. When `featureValue: N`, the date fields are ignored. * When you change account features 20, 21 or 22, you can arrange with SoFi Tech Solutions to receive the `ACFC: account_feature_change` event message. [block:callout] { "type": "info", "title": "Note", "body": "Feature types 20, 21, and 22 are mutually exclusive. Only one can be set to `Y` at a time." } [/block]' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: feature_value: type: - string - 'null' description: The feature value required: - feature_value required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.043,\n \"response_data\": {\n \"feature_value\": \"Y\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"S1H4BG1KOP470WR1IK8R\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:39:39\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.056\n \n Y\n \n \n \n \n J6ZXPPR97TW4JP9Z9M5U\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:33:01\n" description: '' operationId: post_setaccountfeature /verifyAccount: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: 'The <> or <> of the account. Pattern: PRN or PAN Example: `"074103447228"`' example: 074103447228 loadType: type: - string - 'null' pattern: ^[a-zA-Z0-9]{1,2}$ description: 'Load type (otype) of the load to verify. Use values from your list of load types from SoFi Tech Solutions. If no `loadType` is specified, the default type `RL` is used. Pattern: 2 alphanumeric characters Example: `"RL"`' example: RL includeRelated: type: integer format: int32 default: 0 enum: - 0 - 1 description: 'Whether to return data for all accounts that share the same account holder (`client_id`). - `0` or _blank_ — **Default**. Retrieve only the specified account. - `1` — Retrieve all accounts from the same account holder`. Pattern: Integer Example: `1`' example: 1 required: - accountNo - transactionId - apiLogin - apiTransKey - providerId summary: Verify Account description: 'Use the Verify Account endpoint to return information on an account. For example, you can use this endpoint to validate that you can call Create Payment on the account without violating the load amount. Verify Account will also return secondary accounts that share the same balance ID and product ID. This endpoint returns: * Current account balance — Both posted and authorized transactions are factored into the balance amount * Current maximum amount that can be loaded into the account, according to product parameters * External account ID * Account PRN * Galileo account number (balance ID)' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: accounts: type: array description: List of account objects items: type: object properties: max_load_amount: type: string description: The maximum amount that can be loaded on a credit card balance: type: number format: float description: The amount of money in a savings or checking account external_account_id: type: - string - 'null' description: An external account ID provided by the client pmt_ref_no: type: string description: A system-generated account number account_status: type: string description: The condition of the account after a modification galileo_account_number: type: string description: System-generated integer account number, also known as balance ID product_id: type: string description: System-generated integer required: - account_status - balance - external_account_id - galileo_account_number - max_load_amount - pmt_ref_no - product_id required: - accounts required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.097,\n \"response_data\": {\n \"accounts\": [\n {\n \"account_status\": \"V\",\n \"balance\": 10,\n \"external_account_id\": null,\n \"galileo_account_number\": \"462956\",\n \"max_load_amount\": \"2490\",\n \"pmt_ref_no\": \"001109456770\",\n \"product_id\": \"88\"\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"0HH0MOFZYV79GYXZ1Z1E\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:40:07\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.108\n \n \n \n N\n 1224.7\n \n 386957\n 2380\n 001104890593\n 88\n \n \n \n \n \n \n R6WCQILG86LC078PD3YH\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:33:21\n" description: '' operationId: post_verifyaccount /getCustomerNoteHistory: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: 'The <> or <> of the account. Pattern: PAN or PRN Example: `"074103447228"`' example: 074103447228 startDate: type: string format: date description: 'The beginning date for the date range, either a date or a date-time. Pattern: YYYY-MM-DD or YYYY-MM-DD hh:mm:ss Example: `"2016-01-01"`' example: '2016-01-01' endDate: type: string format: date description: 'The end date for the date range, either a date or a date-time. Must be equal to or later than `startDate`. Pattern: YYYY-MM-DD or YYYY-MM-DD hh:mm:ss Example: `"2016-01-01"`' example: '2016-01-01' required: - accountNo - endDate - startDate - transactionId - apiLogin - apiTransKey - providerId summary: Get Customer Note History description: 'Use the Get Customer Note History endpoint to retrieve the customer notes that are in the >. This endpoint requires a date range: 365 days maximum.' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: notes: type: array description: List of note objects items: description: A data structure that contains information on one or more notes type: object properties: date: type: string format: date-time description: The date and time the associated note entered the system note_id: type: string description: An ID number that identifies a customer note agent: type: string description: Identifies a person or automated software source note: type: string description: A data structure that displays a note and/or note information sticky: type: string description: A code that indicates if the note is permanent or not required: - agent - date - note - note_id - sticky required: - notes required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.069,\n \"response_data\": {\n \"notes\": [\n {\n \"date\": \"2025-11-18 15:12:36\",\n \"note_id\": \"16477\",\n \"agent\": \"jjones\",\n \"note\": \"Password changed for customer.\",\n \"sticky\": \"0\"\n },\n {\n \"date\": \"2025-11-18 15:12:36\",\n \"note_id\": \"16476\",\n \"agent\": \"jjones\",\n \"note\": \"Customer profile updated. Email changed to bob@bob.com.\",\n \"sticky\": \"0\"\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"O63HGOAZ87D79UB6DIR5\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:39:09\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.05\n \n \n \n 2025-11-18 15:12:36\n 16477\n jjones\n Password changed for customer.\n 0\n \n \n 2025-11-18 15:12:36\n 16476\n jjones\n Customer profile updated. Email changed to bob@bob.com.\n 0\n \n \n \n \n \n \n HFTDAH873ZM6NLY8537W\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:32:32\n" description: '' operationId: post_getcustomernotehistory /addCustomerNote: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: "The <> or <> of the account.\nPattern: PAN or PRN \nExample: `\"074103447228\"`" example: 074103447228 note: type: string minimum: 1 maximum: 2000 description: 'Text of the note. Pattern: Alphanumeric string including punctuation Example: `"Sample note message here."`' example: Sample note message here. sticky: type: - string - 'null' pattern: ^(1|0)$ description: 'Pass `1` to make the note permanent in the <>. Pattern: `0` or `1` Example: `"1"`' example: '1' userId: type: - string - 'null' description: 'Email address of the agent adding the note. Pattern: Email address Example: `"user123@example.com"`' example: user123@example.com required: - accountNo - note - transactionId - apiLogin - apiTransKey - providerId summary: Add Customer Note description: Use the Add Customer Note endpoint to create a note that is accessible in the >. responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: note_id: type: string description: An ID number that identifies a customer note. required: - note_id required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.054,\n \"response_data\": {\n \"note_id\": \"44307\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"RY8GFEVXEYY2DVEIE275\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:38:56\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.036\n \n 44331\n \n \n \n \n 5MIXM8LXMV3JT7CQDSQ3\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:32:21\n" description: '' operationId: post_addcustomernote /setUserDefinedAccountField: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: "The <> or <> of the account.\nPattern: PAN or PRN \nExample: `\"074103447228\"`" example: 074103447228 fieldId: type: string pattern: ^[a-zA-Z0-9]{1,15}$ description: 'Field identifier or key name. Pattern: 1–15 alphanumeric characters Example: `"MYACCTID"`' example: MYACCTID fieldValue: type: string minLength: 1 maxLength: 175 description: 'Field value. Pattern: 1–175 characters Example: `"48547537447-ABCD"`' example: 48547537447-ABCD required: - accountNo - fieldId - fieldValue - transactionId - apiLogin - apiTransKey - providerId summary: Set User-Defined Account Field description: 'Use the Set User-Defined Account Field endpoint to create or update custom data elements on an account. There is no technical limit on the number of fields that you can add. See User-defined account fields in _About Accounts_ for more information. - `fieldId` — Provide an identifier for the field. This identifier must be unique only to the account. - `fieldValue` — Provide the value for that field. These fields are visible in the > on the account''s landing page.' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: field_id: type: string description: A field identifier or key name field_value: type: string description: A value placed into the created field last_modified: type: string format: date-time description: A time and date stamp that shows the last time the custom field was modified required: - field_id - field_value - last_modified required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.054,\n \"response_data\": {\n \"field_id\": \"MYACCTID\",\n \"field_value\": \"HVFQSWMD\",\n \"last_modified\": \"2025-07-13 10:39:51\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"0KLB61EGAX0G6CSRD6QJ\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:39:51\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 2025-07-13 10:39:51\n \n MYACCTID\n HVFQSWMD\n 2025-07-13 10:39:51\n \n 0.054\n \n 0KLB61EGAX0G6CSRD6QJ\n \n \n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n" description: '' operationId: post_setuserdefinedaccountfield /getUserDefinedAccountFields: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: "The <> or <> of the account.\nPattern: PAN or PRN \nExample: `\"074103447228\"`" example: 074103447228 required: - accountNo - transactionId - apiLogin - apiTransKey - providerId summary: Get User-Defined Account Fields description: Use the Get User-Defined Account Fields endpoint to retrieve the user-defined fields and values that were created with the Set User-Defined Account Field endpoint. See User-defined account fields in _About Accounts_ for more information. responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: accounts: type: array description: List of account objects items: type: object properties: pmt_ref_no: type: string description: A system-generated account number user_defined_fields: type: array items: description: A data structure that displays one or more user defined fields type: object properties: field_id: type: string description: A field ID field_value: type: string description: A value placed into the created field last_modified: type: string format: date-time description: A time and date stamp that shows the last time the custom field was modified required: - field_id - field_value - last_modified required: - pmt_ref_no - user_defined_fields required: - accounts required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.127,\n \"response_data\": {\n \"accounts\": [\n {\n \"pmt_ref_no\": \"001104890593\",\n \"user_defined_fields\": [\n {\n \"field_id\": \"MYACCTID\",\n \"field_value\": \"xbftpjeu\",\n \"last_modified\": \"2025-10-08 15:23:20.000\"\n }\n ]\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"Y9NEHUZT7KY0NK0SAURI\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:39:11\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.105\n \n \n \n 001104890593\n \n \n MYACCTID\n xbftpjeu\n 2025-10-08 15:23:20.000\n \n \n \n \n \n \n \n \n 3AA0D888UT7U5X8OI60X\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:32:34\n" description: '' operationId: post_getuserdefinedaccountfields /getAccountById: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 id: type: - string - 'null' description: 'Unique identifier for an account holder. This is the primary `id` that was passed in an enrollment endpoint request during account creation. The system converts all letters to lowercase. Pattern: See Customer ID Types Example: `"123456789"`' example: '123456789' idType: type: - integer - 'null' format: int32 enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 description: 'Specifies the type of primary identifier in the `id` parameter. This parameter is **required** when `id` is populated. See the **ID** column in the Customer ID Types table for valid values. Pattern: 1- or 2-digit integer Example: `2`' example: 2 externalCustomerId: type: - string - 'null' maximum: 512 description: 'User-supplied identifier that is related to an external system. Pattern: Max 512 characters: all ASCII characters Example: `"acv#-@45!sbsxm%-"`' example: acv#-@45!sbsxm%- customerId: type: - integer - 'null' format: int32 minimum: 1 description: 'Galileo''s internal, unique customer identifier, called `client_id` in the code. This is a deterministic 1:1 lookup key for a single customer. When provided, the response includes the customer''s `externalCustomerId`. Pattern: Positive integer Example: `123456789`' example: 123456789 required: - transactionId - apiLogin - apiTransKey - providerId summary: Get Account by ID description: 'Use the Get Account by ID endpoint to retrieve account information using _exactly one_ of the mutually exclusive lookup keys. See Account lookup for specific instructions. This endpoint returns customer data such as enrollment status and onboarding date as well as a list of all accounts associated with the customer. Each account entry includes `closureDate` to indicate when the account was closed. `closureDate` is populated only when the account is in status `C` (closed/canceled), `Z` (closed/canceled without refund), or `R` (charged off); it is `null` for open accounts. To search on broader criteria, try Search Accounts.' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: accounts: type: array description: List of accounts items: description: Acts as a logical separator between accounts if more than one is returned type: object properties: prn: type: string description: The payment reference number prod_id: type: string description: A unique product identifier from SoFi Tech Solutions app_date: type: - string - 'null' format: date-time description: The date the account's application was submitted status: type: string description: The status of the account active_flag: type: string description: Whether the account is active balance: type: - number - 'null' format: float description: The available balance of the account closure_date: type: - string - 'null' format: date-time description: UTC timestamp (`YYYY-MM-DD hh:mm:ss`) of when the account was closed. Populated only when status is `C` (closed/canceled), `Z` (closed/canceled without refund), or `R` (charged off); `null` means the account is open. galileo_account_number: type: - string - 'null' description: The balance ID of the account. cards: type: - array - 'null' description: List of the cards associated with the account items: type: object properties: card_id: type: string description: The card identifier (CAD) card_status: type: string description: The status of the card required: - card_id - card_status required: - active_flag - app_date - galileo_account_number - prn - prod_id - status externalCustomerId: type: - string - 'null' description: The customer's `externalCustomerId`. Returned only when the lookup resolves to a single customer, as when the request is made with `customerId`. Omitted for lookups that may span multiple customers. required: - accounts required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.24,\n \"response_data\": {\n \"accounts\": [\n {\n \"prn\": \"001109456341\",\n \"prod_id\": \"88\",\n \"app_date\": \"2025-07-13 10:38:57\",\n \"status\": \"V\",\n \"active_flag\": \"N\",\n \"balance\": 10,\n \"closure_date\": null,\n \"galileo_account_number\": \"462956\"\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"HKHFA2P57UHZH2I7HIIW\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:38:58\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.147\n \n \n \n 001104898505\n 88\n 2025-05-16\n N\n Y\n 65.05\n 462956\n \n \n \n \n \n \n 7R19V6ENCH5VMTN8CE98\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:32:23\n" description: '' operationId: post_getaccountbyid /getRelatedAccounts: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: 'The <> or <> of the account. Pattern: PAN or PRN Example: `"074103447228"`' example: 074103447228 required: - accountNo - transactionId - apiLogin - apiTransKey - providerId summary: Get Related Accounts description: Use the Get Related Accounts endpoint to retrieve all accounts that are related to the account specified in `accountNo`. This endpoint returns all accounts with the same owner. If a secondary account is passed, it returns the primary account and other secondaries associated with the same primary. responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: self_accounts: type: array description: Accounts that belong to the same customer. items: type: object properties: prn: type: string description: The payment reference number of the account. product_id: type: string description: The identifier for the product that this account belongs to. galileo_account_number: type: - string - 'null' description: The balance ID of the account. status: type: string description: The status of the account. See Account Statuses for valid values. active: type: string description: 'Whether the account is active: `Y` or `N`' required: - active - galileo_account_number - prn - product_id - status child_accounts: type: array description: Accounts that are secondary accounts to the primary account in `accountNo`. items: type: object properties: prn: type: string description: The payment reference number of the account. product_id: type: string description: The identifier for the product that this account belongs to. galileo_account_number: type: - string - 'null' description: The balance ID of the account. status: type: string description: The status of the account. See Account Statuses for valid values. active: type: string description: 'Whether the account is active: `Y` or `N`' required: - active - galileo_account_number - prn - product_id - status parent_accounts: type: array description: If `accountNo` contains a secondary account, this is the primary account that it is associated with. items: type: object properties: prn: type: string description: The payment reference number of the account. product_id: type: string description: The identifier for the product that this account belongs to. galileo_account_number: type: - string - 'null' description: The balance ID of the account. status: type: string description: The status of the account. See Account Statuses for valid values. active: type: string description: 'Whether the account is active: `Y` or `N`' required: - active - galileo_account_number - prn - product_id - status sibling_accounts: type: array description: If `accountNo` contains a secondary account, these are other secondary accounts that are associated with the primary account in `parent_accounts`. items: type: object properties: prn: type: string description: The payment reference number of the account. product_id: type: string description: The identifier for the product that this account belongs to. galileo_account_number: type: - string - 'null' description: The balance ID of the account. status: type: string description: The status of the account. See Account Statuses for valid values. active: type: string description: 'Whether the account is active: `Y` or `N`' required: - active - galileo_account_number - prn - product_id - status required: - child_accounts - parent_accounts - self_accounts - sibling_accounts required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.074,\n \"response_data\": {\n \"parent_accounts\": [\n {\n \"active\": \"Y\",\n \"status\": \"N\",\n \"galileo_account_number\": \"5013429\",\n \"prn\": \"005462577202\",\n \"product_id\": \"12827\"\n },\n {\n \"active\": \"Y\",\n \"status\": \"N\",\n \"galileo_account_number\": \"5013430\",\n \"prn\": \"005462578202\",\n \"product_id\": \"12827\"\n }\n ],\n \"sibling_accounts\": [\n {\n \"active\": \"Y\",\n \"status\": \"N\",\n \"galileo_account_number\": \"5013431\",\n \"prn\": \"005462579202\",\n \"product_id\": \"12827\"\n },\n {\n \"active\": \"Y\",\n \"status\": \"N\",\n \"galileo_account_number\": \"5013432\",\n \"prn\": \"005462580202\",\n \"product_id\": \"12827\"\n }\n ],\n \"child_accounts\": [\n {\n \"active\": \"Y\",\n \"status\": \"N\",\n \"galileo_account_number\": \"5013427\",\n \"prn\": \"005462575202\",\n \"product_id\": \"12827\"\n },\n {\n \"active\": \"Y\",\n \"status\": \"N\",\n \"galileo_account_number\": \"5013428\",\n \"prn\": \"005462576202\",\n \"product_id\": \"12827\"\n }\n ],\n \"self_accounts\": [\n {\n \"active\": \"Y\",\n \"status\": \"N\",\n \"galileo_account_number\": \"5013424\",\n \"prn\": \"005462572202\",\n \"product_id\": \"12827\"\n },\n {\n \"active\": \"Y\",\n \"status\": \"N\",\n \"galileo_account_number\": \"5013425\",\n \"prn\": \"005462573202\",\n \"product_id\": \"12827\"\n },\n {\n \"active\": \"Y\",\n \"status\": \"N\",\n \"galileo_account_number\": \"5013426\",\n \"prn\": \"005462574202\",\n \"product_id\": \"12827\"\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"82KE6A1RUQ5HPX69TY4L\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:31:56\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.076\n \n \n\t\t\n\t\t\tY\n\t\t\tN\n\t\t\t5013429\n\t\t\t005462577202\n\t\t\t12827\n\t\t\n\t\t\n\t\t\tY\n\t\t\tN\n\t\t\t5013430\n\t\t\t005462578202\n\t\t\t12827\n\t\t\n\t\n\t\n\t\t\n\t\t\tY\n\t\t\tN\n\t\t\t5013431\n\t\t\t005462579202\n\t\t\t12827\n\t\t\n\t\t\n\t\t\tY\n\t\t\tN\n\t\t\t5013432\n\t\t\t005462580202\n\t\t\t12827\n\t\t\n\t\n\t\n\t\t\n\t\t\tY\n\t\t\tN\n\t\t\t5013427\n\t\t\t005462575202\n\t\t\t12827\n\t\t\n\t\t\n\t\t\tY\n\t\t\tN\n\t\t\t5013428\n\t\t\t005462576202\n\t\t\t12827\n\t\t\n\t\n\t\n\t\t\n\t\t\tY\n\t\t\tN\n\t\t\t5013424\n\t\t\t005462572202\n\t\t\t12827\n\t\t\n\t\t\n\t\t\tY\n\t\t\tN\n\t\t\t5013425\n\t\t\t005462573202\n\t\t\t12827\n\t\t\n\t\t\n\t\t\tY\n\t\t\tN\n\t\t\t5013426\n\t\t\t005462574202\n\t\t\t12827\n\t\t\n\t\n \n \n \n \n 15FTBIF1UOB2EZ3RRJ9I\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:27:16\n" description: '' operationId: post_getrelatedaccounts /searchAccounts: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: - string - 'null' pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: 'The <> or <> of the account. Pattern: PAN or PRN Example: `"074103447228"`' example: 074103447228 firstName: type: - string - 'null' minimum: 1 maximum: 40 description: 'Account holder''s first name. Special character support. Pattern: 1–40 characters: letters (`A-Z`, `a-z`), spaces, hyphens (`-`) and single quotes (`''`) Example: `"Ed"`' example: Ed middleName: type: - string - 'null' minimum: 1 maximum: 40 description: 'Account holder''s middle name. Special character support. Pattern: 1–40 characters: letters (`A-Z`, `a-z`), spaces, hyphens (`-`) and single quotes (`''`) Example: `"W"`' example: W lastName: type: - string - 'null' minimum: 1 maximum: 40 description: 'Account holder''s last name. Special character support. Pattern: 1–40 characters: letters (`A-Z`, `a-z`), spaces, hyphens (`-`) and single quotes (`''`) Example: `"Harley"`' example: Harley dateOfBirth: type: - string - 'null' format: date description: 'Account holder''s birth date. This date is compared with the DOB product parameter when there is a minimum age requirement on the account. Pattern: YYYY-MM-DD Example: `"1980-01-01"`' example: '1980-01-01' postalCode: type: - string - 'null' minimum: 5 maximum: 10 pattern: ^[a-zA-Z0-9\-\ ]*$ description: 'Account holder''s postal code (ZIP code). Pattern: `12345`, `12345-1234`, or `K1A-1A1` Example: `"84121"`' example: '84121' primaryPhone: type: - string - 'null' minimum: 10 maximum: 10 description: 'Account holder''s primary phone number. When passing a value for this parameter, you must also pass `mobilePhoneCountryCode`. Pattern: Validation according to the value in `mobilePhoneCountryCode`. Example: `"8013656050"`' example: '8013656050' otherPhone: type: - string - 'null' minimum: 10 maximum: 10 description: 'Account holder''s secondary phone number. When passing a value for this parameter, you must also pass `mobilePhoneCountryCode`. Pattern: Validation according to the value in `mobilePhoneCountryCode`. Example: `"8013656050"`' example: '8013656050' mobilePhone: type: - string - 'null' minimum: 10 maximum: 10 description: 'Account holder''s mobile phone number. When passing a value for this parameter, you must also pass `mobilePhoneCountryCode`. Pattern: Validation according to the value in `mobilePhoneCountryCode`. Example: `"8013656050"`' example: '8013656050' email: type: - string - 'null' format: email description: "Account holder's email. This field is validated by Marshmallow.\n Pattern: Email address, 3–63 characters\nExample: `\"user@fakedomain.com\"`" example: user@fakedomain.com userData: type: - string - 'null' minLength: 1 maxLength: 50 pattern: ^[a-zA-Z0-9_ ]*$ description: 'Data supplied by the provider, from sources external to the system. This data will be stored in the system in association with this account. The most common use of this parameter is to track affiliate-marketing traffic. The data in this field can be added to an <>. Pattern: Max 50 alphanumeric characters, underscores and spaces Example: `"a4434gg44"`' example: a4434gg44 eextid: type: - string - 'null' maximum: 30 pattern: ^[a-zA-Z0-9\-]*$ description: 'The `externalAccountId` that was passed in the account-creation call. Pattern: Max 30 alphanumeric characters Example: `"553b45sbs"`' example: 553b45sbs recordCnt: type: - integer - 'null' format: int32 minimum: 10 maximum: 100 description: 'The maximum number of records per page to be returned. Pattern: Positive integer `1-99999` Example: `100`' example: 100 page: type: integer format: int32 default: 1 minimum: 1 maximum: 100 description: 'The number of the page to retrieve. Pattern: Integer value of `1` or greater Example: `3`' example: 3 mobilePhoneCountryCode: type: - string - 'null' minimum: 2 maximum: 4 pattern: ^\+[0-9]*$ description: "Account holder's mobile phone country code.\nPattern: A plus sign followed by 1–3 digits. See Phone Validation for valid values. \nExample: `\"+1\"`" example: '+1' required: - transactionId - apiLogin - apiTransKey - providerId summary: Search Accounts description: 'Use the Search Accounts endpoint to find a customer account by passing at least one of the parameters. The data in the response is similar to what the > search provides. Try Get Account by ID to specify a customer identifier and retrieve all associated accounts. For the `recordCnt` parameter use these values to get the desired number of records per page: * **No value** — 50 records per page * **`1` through `100`** — The specified number of records per page * **Values over `100`** — 100 records per page' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: page: type: integer format: int32 description: The current page in the accounts list display total_record_count: type: string description: Number of records in the accounts list display number_of_pages: type: integer format: int32 description: Total number of pages in the accounts list display accounts: type: array description: List of account objects items: description: Acts as a logical separator to discern a specific account type: object properties: pmt_ref_no: type: string description: A system-generated account number first_name: type: - string - 'null' description: A person's first name as listed on the account middle_name: type: - string - 'null' description: A person's middle name as listed on the account last_name: type: - string - 'null' description: A person's last name as listed on the account email: type: - string - 'null' description: The email address on a profile status: type: string description: The status of the account active: type: string description: Yes or no to flag an active account galileo_account_number: type: - string - 'null' description: System-generated integer account number, also known as balance ID product_id: type: - string - 'null' description: System-generated integer group_id: type: - string - 'null' description: Integer value used for tracking the location (store, entity, etc...) where the customer was acquired. The group_id is set using the location and locationType parameters. application_date: type: - string - 'null' format: date-time description: The date an application was made to create an account required: - active - application_date - email - first_name - galileo_account_number - group_id - last_name - middle_name - pmt_ref_no - product_id - status required: - accounts - number_of_pages - page - total_record_count required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.027,\n \"response_data\": {\n \"page\": 1,\n \"total_record_count\": \"2\",\n \"number_of_pages\": 1,\n \"accounts\": [\n {\n \"pmt_ref_no\": \"001104889124\",\n \"first_name\": \"Mike\",\n \"middle_name\": \"\",\n \"last_name\": \"Karb\",\n \"email\": \"\",\n \"status\": \"N\",\n \"active\": \"Y\",\n \"galileo_account_number\": \"386812\",\n \"product_id\": \"88\",\n \"group_id\": \"5\",\n \"application_date\": \"2025-10-22 00:00:00\"\n },\n {\n \"pmt_ref_no\": \"001108510288\",\n \"first_name\": \"Michael\",\n \"middle_name\": \"J\",\n \"last_name\": \"Bluth\",\n \"email\": \"\",\n \"status\": \"N\",\n \"active\": \"Y\",\n \"galileo_account_number\": \"425566\",\n \"product_id\": \"88\",\n \"group_id\": \"5\",\n \"application_date\": \"2025-10-22 12:34:37\"\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"34AEHU05D99DVRFXVYA5\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:39:36\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.093\n \n 1\n 2\n 1\n \n \n 001104889124\n Mike\n \n Karb\n \n N\n Y\n 386812\n 88\n 5\n 2025-10-22 00:00:00\n \n \n 001108510288\n Michael\n J\n Bluth\n \n N\n Y\n 425566\n 88\n 5\n 2025-10-22 12:34:37\n \n \n \n \n \n \n TJS1D445GR3SMYXEYB9A\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:32:57\n" description: '' operationId: post_searchaccounts /chargeOffAccount: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: 'The <> or <> of the account. Do not use the PRN if more than one card has ever been associated with this account. Pattern: PAN or PRN Example: `"074103447228"`' example: 074103447228 chargeOffDetails: type: - string - 'null' description: 'A JSON object containing a list of charge-off details. See the endpoint description above for details. Pattern: JSON format (list of dictionaries) Example: `"[{"chargeOffAmount": 2.6, "chargeOffReason": 5}, {"chargeOffAmount": 4.75, "chargeOffReason": 2}]"`' example: '[{"chargeOffAmount": 2.6, "chargeOffReason": 5}, {"chargeOffAmount": 4.7, "chargeOffReason": 2}]"' closeAssociatedAccounts: type: - integer - 'null' format: int32 enum: - 0 - 1 description: 'If `accountNo` is a secondary account, pass `1` to close all accounts with the same balance ID. Pattern: Integer Example: `1`' example: 1 required: - accountNo - transactionId - apiLogin - apiTransKey - providerId summary: Charge Off Account description: 'Use the Charge Off Account endpoint to charge off the specified account (sweep funds and set balance to `0.00`) and move the account to `status: R` (charged off). These are the rules for using the `chargeOffDetails` parameter: * `chargeOffDetails` accepts a JSON-formatted list with `chargeOffAmount` and `chargeOffReason` as the two keys. * The only valid values for `chargeOffReason` are the numerals 1-13, as shown in the `chargeOffReason` table. * `chargeOffAmount` is a float that must be greater than `0`. If you pass `0` the request will fail. * `chargeOffAmount` is required when `chargeOffReason` does not equal `1`. Example: `[{"chargeOffAmount": 2.6, "chargeOffReason": 5}, {"chargeOffAmount": 4.75, "chargeOffReason": 2}]` To recover a charged-off account use the Recover Charged-Off Account endpoint.' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. This endpoint does not return response data, so it will always be empty. type: object properties: {} required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.022,\n \"response_data\": {},\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"A43ZQ5ZMR4XALONBW1G3\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:48:07\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.049\n \n \n \n \n BE8Z7F78YSAS0EA1TBA8\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:42:45\n" description: '' operationId: post_chargeoffaccount /switchProduct: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^.+$ description: 'The <>, <> or <> of the account. Pattern: PAN, PRN, or CAD Example: `"074103447228"`' example: 074103447228 prodId: type: integer format: int32 description: 'The new product ID for the account. Pattern: Integer Example: `4444`' example: 4444 doReissue: type: string default: N enum: - Y - N description: 'Controls whether to reissue the card. Default: `"N"`. Pattern: String Example: `"Y"`' example: Y newPan: type: - string - 'null' enum: - Y - N description: 'Controls whether to generate a new PAN for the reissued card. Pattern: String Example: `"Y"`' example: Y newExpiryDate: type: - string - 'null' enum: - Y - N description: '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"`' example: Y emboss: type: - string - 'null' enum: - Y - N description: 'Controls whether to emboss the reissued card. Pattern: String Example: `"Y"`' example: Y oldCardStatus: type: - string - 'null' enum: - C - D description: '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: D required: - accountNo - prodId - transactionId - apiLogin - apiTransKey - providerId summary: Switch Product description: '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 Set Account Feature with `type: 3` to switch products. SoFi Tech Solutions recommends that you use the > for `accountNo`; however, you can use the > if only one card has ever been associated with the account. For instructions on using this endpoint, see the Switching Products 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 Get Card to retrieve the new values after the emboss process has run.' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: prod_id: type: integer format: int32 description: Identifier for the card's product app_date: type: - string - 'null' description: Date the account's application was submitted galileo_account_number: type: - string - 'null' description: System-generated account number, also known as the balance ID new_emboss_uuid: type: - string - 'null' description: UUID for an emboss record that has not yet been sent to the embosser. active_flag: type: string description: Indicates whether an account is active bill_cycle_day: type: - string - 'null' description: Day of the month that the customer is billed start_date: type: - string - 'null' format: date description: Date the account was activated status: type: string description: Status of the account cards: type: array description: List of cards associated with the account items: type: object properties: card_id: type: string description: Unique identifier for a card emboss_uuid: type: - string - 'null' description: 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: type: string description: <>, usually masked card_status: type: - string - 'null' description: Status of the card card_security_code: type: - string - 'null' description: Card verification value (CVV2) expiry_date: type: - string - 'null' format: date description: Expiration date of the card external_card_id: type: - string - 'null' description: Partner-specified external card identifier pin_fail_count: type: - string - 'null' description: The number of times a PIN entry failed pin_fail_date: type: - string - 'null' format: date-time description: Last date a PIN fail was recorded freeze_info: type: object properties: status: type: - string - 'null' description: Whether a card is frozen start_date: type: - string - 'null' format: date-time description: Date-time when the card was frozen end_date: type: - string - 'null' format: date-time description: Date-time for the card being unfrozen required: - end_date - start_date - status encrypted_card_number: type: - string - 'null' description: Encrypted PAN of the card encrypted_expiry_date: type: - string - 'null' description: Encrypted expiration date of the card embossed_cards: type: array description: List of embossed card objects items: type: object properties: created_date: type: string format: date description: Date the card was created emboss_uuid: type: - string - 'null' description: 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: type: string format: date description: Date the card was embossed expiry_date: type: - string - 'null' format: date-time description: Expiration date of the card status: type: string description: Emboss status. For valid values see the Emboss Statuses enumeration. shipping_type: type: - string - 'null' description: Type of shipping used required: - created_date - emboss_date - shipping_type - status spend_controls: type: object properties: available_credit: type: - string - 'null' description: Amount available to be charged to a credit card single_use: type: - string - 'null' description: Indicates an alias credit card number, valid for one use credit_limit: type: - string - 'null' description: Maximum outstanding balance allowed on a credit card required: - available_credit - credit_limit - single_use first_name: type: string description: Cardholder first name middle_name: type: string description: Cardholder middle name last_name: type: string description: Cardholder last name pmt_ref_no: type: - string - 'null' description: System-generated account number, also known as the PRN status: type: - string - 'null' description: Whether a card is frozen ssn: type: - string - 'null' description: Social Security number of the cardholder. This field is returned only if `CINFN` is set. required: - card_id - card_number - embossed_cards - external_card_id - first_name - freeze_info - last_name - middle_name - pin_fail_count - pin_fail_date - pmt_ref_no group_id: type: - string - 'null' description: 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: type: string description: System-generated account number, also known as the `pmt_ref_no` required: - active_flag - app_date - cards - galileo_account_number - group_id - prn - prod_id - status required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.463,\n \"response_data\": {\n \"prn\": \"999101084257\",\n \"prod_id\": 4444,\n \"app_date\": \"2025-01-25\",\n \"status\": \"N\",\n \"active_flag\": \"Y\",\n \"bill_cycle_day\": \"24\",\n \"group_id\": null,\n \"start_date\": \"2025-01-25\",\n \"galileo_account_number\": \"8888\",\n \"cards\": [\n {\n \"card_number\": \"525691XXXXXX6388\",\n \"expiry_date\": \"2026-12-25\",\n \"card_security_code\": \"123\",\n \"status\": \"N\",\n \"card_id\": \"2222\",\n \"external_card_id\": null,\n \"pmt_ref_no\": \"999101084257\",\n \"first_name\": \"Desiderius\",\n \"middle_name\": \"\",\n \"last_name\": \"Erasmus\",\n \"encrypted_card_number\": null,\n \"encrypted_expiry_date\": null,\n \"embossed_cards\": [\n {\n \"emboss_uuid\": \"c8b3f352-4eaa-439a-a8b2-a84737eac0de\",\n \"status\": \"N\",\n \"created_date\": \"2025-01-25\",\n \"emboss_date\": \"2025-01-25\",\n \"expiry_date\": \"2026-12-25\",\n \"shipping_type\": \"standard\"\n },\n {\n \"emboss_uuid\": \"5c2b14af-db98-446f-af65-63d35427fb83\",\n \"status\": \"Y\",\n \"created_date\": \"2025-01-25\",\n \"emboss_date\": \"2025-01-25\",\n \"expiry_date\": \"2026-12-25\",\n \"shipping_type\": \"standard\"\n }\n ],\n \"pin_fail_count\": \"0\",\n \"pin_fail_date\": null,\n \"freeze_info\": {\n \"status\": \"Unfrozen\",\n \"start_date\": null,\n \"end_date\": null\n },\n \"spend_controls\": {\n \"available_credit\": null,\n \"single_use\": null,\n \"credit_limit\": null\n },\n \"emboss_uuid\": \"5c2b14af-db98-446f-af65-63d35427fb83\",\n \"ssn\": \"999999999\"\n }\n ],\n \"new_emboss_uuid\": \"5c2b14af-db98-446f-af65-63d35427fb83\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"4332edea-a1f0-4dea-b7c4-a547e13c9b96\"\n },\n \"system_timestamp\": \"2024-06-11 07:50:11\",\n \"rtoken\": \"950fc40c-dc83-4148-9e74-f1c8c3408112\"\n}" application/xml: examples: response: value: "\n \n 0\n Success\n 0.463\n \n 999101084257\n 4444\n 2025-01-25\n N\n Y\n 24\n \n 2025-01-25\n 8888\n \n 525691XXXXXX6388\n 2026-12-25\n 123\n N\n 2222\n \n 999101084257\n Desiderius\n \n Erasmus\n \n \n \n c8b3f352-4eaa-439a-a8b2-a84737eac0de\n N\n 2025-01-25\n 2025-01-25\n 2026-12-25\n standard\n \n \n 5c2b14af-db98-446f-af65-63d35427fb83\n Y\n 2025-01-25\n 2025-01-25\n 2026-12-25\n standard\n \n 0\n \n \n Unfrozen\n \n \n \n \n \n \n \n \n 5c2b14af-db98-446f-af65-63d35427fb83\n 999999999\n \n 5c2b14af-db98-446f-af65-63d35427fb83\n \n \n \n \n 4332edea-a1f0-4dea-b7c4-a547e13c9b96\n \n 2024-06-11 07:50:11\n 950fc40c-dc83-4148-9e74-f1c8c3408112\n \n" description: '' operationId: post_switchproduct /setRoundupAccounts: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: "The <> or <> of the account.\nPattern: PAN or PRN \nExample: `\"074103447228\"`" example: 074103447228 linkedAccounts: type: string description: 'A JSON object containing mappings between PRNs and the percentage of the roundup amount that the accounts receive. Specify the percentages as integers. The percentages must add up to 100. Pattern: JSON string format Example: `"{''123456789012'': 58, ''123456789000'': 42}"`' example: '{''123456789012'': 58, ''123456789000'': 42}' expire: type: - string - 'null' enum: - Y - N description: 'Expire the roundup feature. Default is `"N"`. Pattern: String Example: `"N"`' example: N required: - accountNo - linkedAccounts - transactionId - apiLogin - apiTransKey - providerId summary: Set Roundup Accounts description: 'Use the Set Roundup Accounts endpoint to specify the roundup account for a consumer account, such as rounding up into a charity account. (To enable roundup for the account, call Set Account Feature with `type: 11`.) You can assign multiple roundup accounts to a single consumer account. The total percentage from all linked roundup accounts must equal 100.' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: roundup_accounts: type: array description: List of roundup accounts items: description: List containing mappings between accounts and the roundup percentage type: object properties: account_no: type: string description: The payment reference number for an account roundup_percentage: type: number format: float description: Percent of roundup amount linked to the account required: - account_no - roundup_percentage required: - roundup_accounts required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"echo\": {\n \"provider_timestamp\": null,\n \"provider_transaction_id\": \"\",\n \"transaction_id\": \"6537a656-9832-14bc-c329-a54ed08cd40f\"\n },\n \"processing_time\": 0.453,\n \"response_data\": {\n \"roundup_accounts\": [\n {\n \"account_no\": \"123456789014\",\n \"roundup_percentage\": 42.0\n },\n {\n \"account_no\": \"123456789016\",\n \"roundup_percentage\": 58.0\n }\n ]\n },\n \"rtoken\": \"1df28570-4184-6e4f-b654-f25f33c993b9\",\n \"system_timestamp\": \"2025-05-19 02:58:52\"\n}\n" application/xml: examples: response: value: "\n\n 0\n Success\n \n \n \n 6537a656-9832-14bc-c329-a54ed08cd40f\n \n 0.453\n \n \n \n 123456789014\n 42.0\n \n \n 123456789016\n 58.0\n \n \n \n 1df28570-4184-6e4f-b654-f25f33c993b9\n 2025-05-19 02:58:52\n\n" description: '' operationId: post_setroundupaccounts /getRoundupAccounts: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: "The <> or <> of the account.\nPattern: PAN or PRN \nExample: `\"074103447228\"`" example: 074103447228 required: - accountNo - transactionId - apiLogin - apiTransKey - providerId summary: Get Roundup Accounts description: Use the Get Roundup Accounts endpoint to retrieve a record of all accounts linked to a roundup account and the contribution percentage from each account. responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: roundup_accounts: type: array description: List of roundup accounts items: description: List containing mappings between accounts and the roundup percentage type: object properties: account_no: type: string description: The payment reference number for an account roundup_percentage: type: number format: float description: Percent of roundup amount linked to the account required: - account_no - roundup_percentage required: - roundup_accounts required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"echo\": {\n \"provider_timestamp\": null,\n \"provider_transaction_id\": \"\",\n \"transaction_id\": \"37a65656-9852-41cc-a229-a54d40fed08c\"\n },\n \"processing_time\": 0.455,\n \"response_data\": {\n \"roundup_accounts\": [\n {\n \"account_no\": \"123456789012\",\n \"roundup_percentage\": 45.0\n },\n {\n \"account_no\": \"123456789011\",\n \"roundup_percentage\": 55.0\n }\n ]\n },\n \"rtoken\": \"0f21d785-1844-46df-a654-ff33c99325b9\",\n \"system_timestamp\": \"2025-05-19 01:58:52\"\n}\n" application/xml: examples: response: value: "\n\n 0\n Success\n \n \n \n 37a65656-9852-41cc-a229-a54d40fed08c\n \n 0.455\n \n \n \n 123456789012\n 45.0\n \n \n 123456789011\n 55.0\n \n \n \n 0f21d785-1844-46df-a654-ff33c99325b9\n 2025-05-19 01:58:52\n\n" description: '' operationId: post_getroundupaccounts /recoverChargedOffAccount: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: tags: - Accounts and Cards parameters: [] requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g providerId: type: integer format: int32 description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10 digits Example: `9999`' example: 9999 transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: 'The <> or <> of the account. Do not use the PRN if more than one cardhas ever been associated with this account. Pattern: `PAN` or `PRN` Example: `"074103447228"`' example: 074103447228 chargeOffRecoveryAmt: type: number format: float minimum: 0 maximum: 9999999.99 description: "The amount to restore to the recovered account. Cannot be more than what the account contained when it was charged off.\nPattern: Monetary amount 0 or greater.\n Example: `100.00`, `100`, `100.73`" example: 100 newAccountStatus: type: string enum: - Z - N description: "Account status for the recovered account. Only `\"N\"` (active) and `\"Z\"` (canceled without refund) are valid values.\n Pattern: String\n Example: `\"N\"`" example: N closureReason: type: - string - 'null' enum: - inactivity - paid_user - chargeoff - collection - deleted_fraud - external_application_fraud_first_party_synthetic_id - external_application_fraud_first_party_income_misrepresentation - external_application_fraud_first_party_employment_misrepresentation - external_application_fraud_first_party_other_misrepresentation - external_credit_fraud_first_party_loan_stacking - external_credit_fraud_first_party_forced_post_transaction - external_credit_fraud_first_party_bustout - external_credit_fraud_first_party_other - external_mule_fraud_first_party_witting_mule - external_mule_fraud_first_party_unwitting_mule - external_profile_level_application_fraud_third_party_id_theft_existing_member - external_profile_level_application_fraud_third_party_id_theft_unknown_entity - external_account_takeover_fraud_third_party_social_engineering_phishing - external_account_takeover_fraud_third_party_compromised_credentials - external_account_takeover_fraud_third_party_sim_swap - external_account_takeover_fraud_third_party_password_profile_recovery_exploits - external_account_takeover_fraud_third_party_other_account_takeover - external_account_unauthorized_transaction_third_party_family_friendly_fraud - external_account_unauthorized_transaction_third_party_elder_abuse_financial_exploitation - external_account_unauthorized_transaction_third_party_unemployment_benefit_fraud - external_account_unauthorized_transaction_third_party_compromised_account_number - external_account_unauthorized_transaction_third_party_other - external_account_unauthorized_transaction_third_party_compromised_card_number - external_account_unauthorized_transaction_third_party_lost_stolen - external_account_authorized_transaction_third_party_scam_charity - external_account_authorized_transaction_third_party_scam_investment - external_account_authorized_transaction_third_party_scam_goods_services - external_account_authorized_transaction_third_party_scam_jobs - external_account_authorized_transaction_third_party_scam_property_real_estate - external_account_authorized_transaction_third_party_scam_romance - external_account_authorized_transaction_third_party_scam_known_family_friend - external_account_authorized_transaction_third_party_scam_other - internal_asset_misappropriation_fraud - internal_theft_fraud_access_abuse - internal_member_information_abuse_theft - internal_insider_insider_collusion - internal_insider_outsider_collusion - paid_chargeoff - paid_collection - deleted_no_fraud - deceased description: 'Specifies the account closure reason. See the Account Closure Reasons enumeration for valid values. Pattern: String Example: `"chargeoff"`' example: chargeoff required: - accountNo - chargeOffRecoveryAmt - newAccountStatus - transactionId - apiLogin - apiTransKey - providerId summary: Recover Charged-Off Account description: 'Use the Recover Charged-Off Account endpoint to change a charged-off account (`status: R`) to another status (active or canceled without refund) and to restore the account balance. Using this endpoint is valid only when there was an outstanding positive balance at the time of charge-off.' responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. This endpoint does not return response data, so it will always be empty. type: object properties: {} required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.0278,\n \"response_data\": {},\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"O2SQCGXU0NUE6BIPQ3OA\"\n },\n \"rtoken\": \"81c16de0-5eda-4e2a-978e-3b08fce6g778\",\n \"system_timestamp\": \"2025-07-13 10:42:56\"\n}\n" application/xml: examples: response: value: "\n\n 0\n Success\n 2025-07-13 10:42:56\n \n 0.255\n \n O2SQCGXU0NUE6BIPQ3OA\n \n \n \n 1c16de0-5eda-4e2a-978e-3b08fce6g778\n" description: '' operationId: post_recoverchargedoffaccount /activateCard: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: summary: Activate Card description: 'Use the Activate Card endpoint to activate a physical card that has an emboss record in `status: Y`. Do not use this endpoint to activate a virtual card; instead, use the Modify Status endpoint with `type: 7`. Consult the Activating a Card procedure for more information. If you are not PCI compliant, you can use this endpoint only under certain circumstances. See PCI compliance in _Setting Up a Card Program_ for details. For Digital First cards, calling this endpoint removes account features 20 or 21 to activate the physical card. See Removing the block for details.' parameters: [] tags: - Accounts and Cards requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string maximum: 18 pattern: ^$|^([0-9]+)$ description: 'The <>, <> or <> of the account. For card-specific endpoints such as this one, the CAD is preferred. Do not use the PRN if more than one card has ever been associated with this account. Pattern: PAN, PRN, or CAD Example: `"074103447228"`' example: 074103447228 cardExpiryDate: type: string pattern: ^(19|20)[0-9][0-9]-(0[1-9]|1[012])$ description: 'The expiry date provided by the cardholder. This value is compared to the expiry date in the system. Pattern: YYYY-MM Example: `"2019-01"`' example: 2019-01 cardSecurityCode: type: - string - 'null' pattern: '[0-9]{3}' description: 'The <> value provided by the cardholder. This value is compared to the CVV in the system. Pattern: 3 digits Example: `"123"`' example: '123' cardNumberLastFour: type: - string - 'null' pattern: '[0-9]{4}$' description: 'If `accountNo` contains a PRN, and multiple cards are associated with this account, use this value to ensure that the correct card is selected. Pattern: 4 digits Example: `"0789"`' example: 0789 deactivateTemporaryCards: type: - integer - 'null' format: int32 minimum: 0 maximum: 1 description: 'If temporary cards were issued, this controls whether to deactivate the temporary cards: * `1` — Deactivate * `0` — Do not deactivate Pattern: Integer Example: `1`' example: 1 required: - accountNo - cardExpiryDate - transactionId - apiLogin - apiTransKey - providerId responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: card_number_last_four: type: string description: If the PRN is passed as `accountNo`, this field displays the selected card when there is more than one card associated with the PRN. emboss_uuid: type: - string - 'null' description: UUID for an emboss record that has been sent to the embosser. required: - card_number_last_four - emboss_uuid required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.046,\n \"response_data\": {\n \"card_number_last_four\": \"3233\",\n \"emboss_uuid\": \"a81bc81b-dfad-4e5d-abff-90865d1e13b1\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"36341474-9cff-4847-9ef2-b596c3c58387\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 13:36:59\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.035\n \n 3233\n a81bc81b-dfad-4e5d-abff-90865d1e13b1\n \n \n \n \n 807303fb-03a9-48bb-8793-be234cc7f279\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 13:36:59\n" description: '' operationId: post_activatecard /getCardPinChangeKey: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: summary: Get Card PIN-Change Key description: 'Use the Get Card PIN-Change Key endpoint to retrieve a PIN-change token. Use the token as part of a PIN-change strategy wherein the cardholder submits a PIN change request via a form that either you or SoFi Tech Solutions host. Consult the Direct POST PIN-Set Procedure or the Direct Render PIN-Set Procedure for instructions on using this endpoint.' parameters: [] tags: - Accounts and Cards requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^.+$ description: 'The <>, <> or <> of the account. For card-specific endpoints such as this one, the CAD is preferred. Do not use the PRN if more than one card has ever been associated with this account. Pattern: PAN, PRN, or CAD Example: `"074103447228"`' example: 074103447228 required: - accountNo - transactionId - apiLogin - apiTransKey - providerId responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: token: type: string description: This token is used for submitting a PIN change request over HTTP POST to SoFi Tech Solutions required: - token required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.051,\n \"response_data\": {\n \"token\": \"4fNL6KoJyLFr4YR2J_t8PtxzOv8M5NHQnI8wsnASDtQrxT5JEC\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"APRENXJ7RVOSI0CBDUFI\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:42:52\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.062\n \n b3a_1OwYGiQmj7RST_4_9gQ4_wjK6gMp_UVB8umhtDO931spN9\n \n \n \n \n ZAEB9JWWT14Q88I9Q1T0\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:35:46\n" description: '' operationId: post_getcardpinchangekey /commitCardPinChange: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: summary: Commit Card PIN Change description: 'Use the Commit Card PIN Change endpoint to complete a PIN change that was staged by using either the direct POST or direct render PIN-set methods. Consult the Direct POST PIN-Set Procedure or the Direct Render PIN-Set Procedure for instructions on using this endpoint.' parameters: [] tags: - Accounts and Cards requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^.+$ description: 'The <>, <> or <> of the account. For card-specific endpoints such as this one, the CAD is preferred. Do not use the PRN if more than one card has ever been associated with this account. Pattern: PAN, PRN, or CAD Example: `"074103447228"`' example: 074103447228 required: - accountNo - transactionId - apiLogin - apiTransKey - providerId responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. This endpoint does not return response data, so it will always be empty. type: object properties: {} required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.045,\n \"response_data\": {},\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"TNRGM9Q2OV9Y6HXOC06Z\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:42:52\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.009902477264404297\n \n \n \n \n ULIOA0Q8LFPTR3MJRZ1D\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:35:46\n" description: '' operationId: post_commitcardpinchange /voidAddCard: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: summary: Void Add Card description: Use the Void Add Card endpoint to cancel a card that was added to an account using the Add Card endpoint. For `transactionId`, pass the `transaction_id` from the original Add Card **response** (not request). parameters: [] tags: - Accounts and Cards requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^$|^([0-9]{12}|[0-9]{16})$ description: 'The <> or <> of the account. Do not use the PRN if more than one card has ever been associated with this account. Pattern: PAN or PRN Example: `"074103447228"`' example: 074103447228 required: - accountNo - transactionId - apiLogin - apiTransKey - providerId responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. This endpoint does not return response data, so it will always be empty. type: object properties: {} required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.0078,\n \"response_data\": {},\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"OOUE6ASQCGXU0NIPQ3OA\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:42:56\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 2025-07-13 10:42:56\n \n 0.0078\n \n OOUE6ASQCGXU0NIPQ3OA\n \n \n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n" description: '' operationId: post_voidaddcard /resetCardPinFailCount: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: summary: Reset Card PIN-Fail Count description: Use the Reset Card PIN-Fail Count endpoint to move the cardholder's PIN-failure count to zero. Optionally, you can also notate the customer account. You can retrieve the current PIN-fail count and fail date with the Get Card or Get Account Card endpoint. parameters: [] tags: - Accounts and Cards requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^.+$ description: 'The <>, <> or <> of the account. For card-specific endpoints such as this one, the CAD is preferred. Do not use the PRN if more than one card has ever been associated with this account. Pattern: PAN, PRN, or CAD Example: `"074103447228"`' example: 074103447228 notate: type: - string - 'null' pattern: ^[0|1]$ description: '0 = false, 1 = true Pattern: `0` or `1` Example: `"0"`' example: '0' required: - accountNo - transactionId - apiLogin - apiTransKey - providerId responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. This endpoint does not return response data, so it will always be empty. type: object properties: {} required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.365,\n \"response_data\": {},\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"a513825f-a5e9-4413-8dd5-689789dd351c\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 13:46:08\"\n}" application/xml: examples: response: value: "\n\n 0\n Success\n 0.027\n \n \n \n \n c6b483df-7f8c-459d-89de-b7f4d4242cae\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 13:46:09\n" description: '' operationId: post_resetcardpinfailcount /verifyCardSecurityCode: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: summary: Verify Card Security Code description: Use the Verify Card Security Code endpoint to validate a > for the specified card that a cardholder inputs. Returns success on a match or failure if it does not match. This endpoint does not return the CVV. parameters: [] tags: - Accounts and Cards requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 cardNumber: type: string pattern: ^[0-9]{16}$ description: '<> of the card. Pattern: 16 digits Example: `"1435074103447228"`' example: '1435074103447228' cardSecurityCode: type: string pattern: ^[0-9]{3}$ description: 'The <> value provided by the cardholder. This value is compared to the CVV in the system. Pattern: 3 digits Example: `"123"`' example: '123' cardExpiryDate: type: - string - 'null' pattern: ^(19|20)\d\d-(0[1-9]|1[012])$ description: 'The expiry date provided by the cardholder. This value is compared to the expiry date in the system. Pattern: YYYY-MM Example: `"2019-01"`' example: 2019-01 required: - cardNumber - cardSecurityCode - transactionId - apiLogin - apiTransKey - providerId responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. This endpoint does not return response data, so it will always be empty. type: object properties: {} required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp description: '' operationId: post_verifycardsecuritycode /reissueCard: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: summary: Reissue Card description: 'Use the Reissue Card endpoint to reissue a card, which means to send the card to the embosser again. Specify whether to keep the same > and expiry date as the original card. This endpoint also changes the status of the original card. SoFi Tech Solutions recommends that you use the > for `accountNo`; however, you can use the > if only one card has ever been associated with the account. SoFi Tech Solutions recommends that you use this endpoint instead of Modify Status with `type: 12` to reissue cards. For instructions see the Reissuing Cards guide. [block:callout] { "type": "info", "title": "Note", "body": "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 Get Card to retrieve the new values after the emboss process has run." } [/block]' parameters: [] tags: - Accounts and Cards requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string pattern: ^.+$ description: 'The <>, <> or <> of the account. Pattern: PAN, PRN, or CAD Example: `"074103447228"`' example: 074103447228 newPan: type: string default: N enum: - Y - N description: 'Controls whether to generate a new PAN for the reissued card. Default: `N`. Pattern: String Example: `"Y"`' example: Y newExpiryDate: type: - string - 'null' enum: - Y - N description: 'Controls whether to generate a new expiration date for the reissued card. Always set this value to `Y`. Pattern: String Example: `"Y"`' example: Y emboss: type: - string - 'null' enum: - Y - N description: "Controls whether to send the reissued card to the embosser. Because virtual cards cannot be reissued, the value `N` is not supported. \nPattern: String or blank\nExample: `\"Y\"`" example: Y oldCardStatus: type: - string - 'null' enum: - C - D description: 'Specifies the status to set for the card that is being replaced. Status is set by the emboss process. Valid values are `C`, `D` or blank. Default: blank Pattern: String or blank Example: `D`' example: D bypassMailFee: type: - string - 'null' enum: - Y description: 'Controls whether to charge the express mail fee for the reissued card. Default: blank. Pattern: String or blank Example: `Y`' example: Y required: - accountNo - transactionId - apiLogin - apiTransKey - providerId responses: default: content: application/json: schema: type: object properties: status_code: type: - integer - 'null' format: int32 description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' format: float description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: prn: type: string description: The payment reference number prod_id: type: integer format: int32 description: Unique system generated product id associated with the account app_date: type: - string - 'null' description: The date the account's application was submitted. `Formatted yyyy-mm-dd`. status: type: string description: Indicates the status of an account active_flag: type: string description: Indicates if an account is active or not bill_cycle_day: type: - string - 'null' description: Day of the month that the customer is billed group_id: type: - string - 'null' description: Integer value used for tracking the location (store, entity, etc...) where the customer was acquired start_date: type: - string - 'null' description: Date the account was activated galileo_account_number: type: - string - 'null' description: System-generated integer account number, also known as balance ID new_emboss_uuid: type: - string - 'null' description: UUID for an emboss record that has not yet been sent to the embosser. cards: type: array description: List of cards associated with the account items: type: object properties: card_number: type: string description: A PAN or 16 digit card number (usually masked) expiry_date: type: - string - 'null' format: date description: Expiration date of the card status: type: string description: A single character code specifying the status of the card card_id: type: string description: Unique identifier for a card emboss_uuid: type: - string - 'null' description: 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. external_card_id: type: - string - 'null' description: Partner specified external card identity card_security_code: type: - string - 'null' description: The card verification value (CVV2) pmt_ref_no: type: string description: A system-generated account number first_name: type: - string - 'null' description: First name middle_name: type: - string - 'null' description: Middle name last_name: type: - string - 'null' description: Last name encrypted_card_number: type: - string - 'null' description: Encrypted number for the card encrypted_expiry_date: type: - string - 'null' description: Encrypted expiration date for the card embossed_cards: type: - array - 'null' description: List of emboss records, one for each time the card was sent to the embosser. This object is populated only when emboss records exist. items: type: - object - 'null' properties: emboss_uuid: type: - string - 'null' description: 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. status: type: string description: The status of the card created_date: type: string format: date description: Date the card was created emboss_date: type: string format: date description: Date the card was embossed expiry_date: type: - string - 'null' format: date-time description: Expiration date of the card shipping_type: type: string description: The type of shipping used for the card required: - created_date - emboss_date - emboss_uuid - shipping_type - status pin_fail_count: type: - string - 'null' description: Counts the number of times a PIN entry fails pin_fail_date: type: - string - 'null' format: date-time description: Date a PIN fail was recorded freeze_info: type: object properties: status: type: string description: Flag showing whether a card is frozen or not start_date: type: - string - 'null' format: date-time description: Start date for card being frozen end_date: type: - string - 'null' format: date-time description: End date for card being frozen required: - end_date - start_date - status spend_controls: type: object properties: available_credit: type: - string - 'null' description: The amount available to be charged to a credit card single_use: type: - string - 'null' description: A flag that indicated an alias credit card number, exhausted after one use credit_limit: type: - string - 'null' description: The maximum outstanding balance allowed on a credit card required: - available_credit - credit_limit - single_use ssn: type: - string - 'null' description: The Social Security Number associated with the account. Set CINFN when PCI-compliant to see this value. required: - card_id - card_number - emboss_uuid - embossed_cards - expiry_date - external_card_id - first_name - freeze_info - last_name - middle_name - pin_fail_count - pin_fail_date - pmt_ref_no - spend_controls - status required: - active_flag - app_date - bill_cycle_day - cards - galileo_account_number - group_id - prn - prod_id - start_date - status required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.729,\n \"response_data\": {\n \"prn\": \"005461616202\",\n \"prod_id\": 12003,\n \"app_date\": \"2025-10-09\",\n \"status\": \"N\",\n \"active_flag\": \"Y\",\n \"bill_cycle_day\": \"5012488\",\n \"group_id\": \"4400147\",\n \"start_date\": \"2025-10-12\",\n \"galileo_account_number\": \"5012488\",\n \"new_emboss_uuid\": \"22222222-dfad-4e5d-abff-90865d1e13b2\",\n \"cards\": [\n {\n \"card_number\": \"619416XXXXXX8367\",\n \"expiry_date\": null,\n \"card_security_code\": null,\n \"status\": \"N\",\n \"card_id\": \"14861269\",\n \"emboss_uuid\": \"11111111-dfad-4e5d-abff-90865d1e13b1\",\n \"external_card_id\": null,\n \"pmt_ref_no\": \"005461616202\",\n \"first_name\": \"Barrett\",\n \"middle_name\": \"Audra\",\n \"last_name\": \"Abplanalp\",\n \"encrypted_card_number\": null,\n \"encrypted_expiry_date\": null,\n \"embossed_cards\": [\n {\n \"status\": \"N\",\n \"created_date\": \"2025-10-12\",\n \"emboss_date\": \"2025-10-12\",\n \"expiry_date\": \"\",\n \"shipping_type\": \"standard\",\n \"emboss_uuid\": \"11111111-dfad-4e5d-abff-90865d1e13b1\"\n },\n {\n \"status\": \"N\",\n \"created_date\": \"2025-10-12\",\n \"emboss_date\": \"2025-10-12\",\n \"expiry_date\": \"\",\n \"shipping_type\": \"standard\",\n \"emboss_uuid\": \"11111111-dfad-4e5d-abff-90865d1e13b1\"\n },\n {\n \"status\": \"N\",\n \"created_date\": \"2025-10-12\",\n \"emboss_date\": \"2025-10-12\",\n \"expiry_date\": \"\",\n \"shipping_type\": \"standard\",\n \"emboss_uuid\": \"11111111-dfad-4e5d-abff-90865d1e13b1\"\n },\n {\n \"status\": \"N\",\n \"created_date\": \"2025-10-12\",\n \"emboss_date\": \"2025-10-12\",\n \"expiry_date\": \"\",\n \"shipping_type\": \"standard\",\n \"emboss_uuid\": \"11111111-dfad-4e5d-abff-90865d1e13b1\"\n }\n ],\n \"pin_fail_count\": \"0\",\n \"pin_fail_date\": null,\n \"freeze_info\": {\n \"status\": \"Unfrozen\",\n \"start_date\": null,\n \"end_date\": null\n },\n \"spend_controls\": {\n \"available_credit\": null,\n \"single_use\": null,\n \"credit_limit\": null\n }\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"40bab512-8a5b-4298-aaef-27280b1bfeaa\"\n },\n \"system_timestamp\": \"2025-10-12 13:29:53\",\n \"rtoken\": \"19e497ab-83c2-4e3c-b024-d10014e9d49a\"\n}\n" application/xml: examples: response: value: "\n\n 0\n Success\n 0.679\n \n 005461617202\n 12004\n 2025-09-21\n N\n Y\n 5012489\n 4400148\n 2025-10-12\n 5012489\n 22222222-dfad-4e5d-abff-90865d1e13b1\n \n \n 333485XXXXXX7651\n \n \n N\n 14861270\n a81bc81b-dfad-4e5d-abff-90865d1e13b1\n \n 005461617202\n Barrett\n Audra\n Abplanalp\n \n \n \n \n N\n 2025-10-12\n 2025-10-12\n \n standard\n a81bc81b-dfad-4e5d-abff-90865d1e13b1\n \n \n N\n 2025-10-12\n 2025-10-12\n \n standard\n a81bc81b-dfad-4e5d-abff-90865d1e13b1\n \n \n N\n 2025-10-12\n 2025-10-12\n \n standard\n a81bc81b-dfad-4e5d-abff-90865d1e13b1\n \n \n N\n 2025-10-12\n 2025-10-12\n \n standard\n a81bc81b-dfad-4e5d-abff-90865d1e13b1\n \n \n 0\n \n \n Unfrozen\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ccbab066-5487-4853-a71c-19abdae59819\n \n 2025-10-12 13:31:16\n d648c808-8ac1-4d89-8db4-a94b42c36d06\n\n" description: '' operationId: post_reissuecard /getCardTokens: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: summary: Get Card Tokens description: 'Use the Get Card Tokens endpoint to retrieve information on tokens associated with a card. To use this endpoint, the MTLCM product parameter must be set. This endpoint is currently valid only for Mastercard. > 🚧 Notice > > The token-management endpoints are available by special arrangement only. Enabling this feature requires additional setup and costs. Contact SoFi Tech Solutions for details.' parameters: [] tags: - Accounts and Cards requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string maximum: 18 pattern: ^$|^([0-9]+)$ description: 'The <>, <> or <> of the account. For card-specific endpoints such as this one, the CAD is preferred. Do not use the PRN if more than one card has ever been associated with this account. Pattern: PAN, PRN, or CAD Example: `"999103447228"`' example: 074103447228 tokenUniqueReference: type: - string - 'null' minLength: 48 maxLength: 48 description: 'A unique 48-character reference assigned to a token and used to identify the token for the duration of its lifetime. Pattern: 48-char alphanumeric Example: `"DWSPMC00000000010906a349d9ca4eb1a4d53e3c90a11d9c"`' example: DWSPMC00000000010906a349d9ca4eb1a4d53e3c90a11d9c includeDeviceTokensOnly: type: boolean default: false description: "Specifies whether to receive only the tokens tied to the cardholder device: \n- `true` — <> returns only the device-based tokens\n- `false` — MDES returns all tokens mapped to the PAN (server, device, and <>). \n\nPattern: Boolean\nExample: `true`" example: 'true' excludeDeletedIndicator: type: boolean default: true description: "Specifies whether to exclude deleted tokens from the search results. Valid values: \n- `true` — Exclude deleted tokens from the search results.\n- `false` — Include deleted tokens in the search results. \n\nPattern: `true` or `false`\n Example: `true`" example: 'true' required: - accountNo - transactionId - apiLogin - apiTransKey - providerId responses: default: content: application/json: schema: type: object properties: token_details_mc: type: array items: description: List of tokens. type: object properties: token_unique_reference: type: string minLength: 48 maxLength: 48 description: Unique reference assigned to a token, used to identify the token for the duration of its lifetime. expiration_date: type: string minLength: 4 maxLength: 4 description: 'Expiration date of the token. Conditional field, present once the token has been designated for the digitization. Format: MMYY.' current_status_code: type: string minLength: 1 maxLength: 1 description: 'Current status of the token. See `current_status_description` field for the value descriptions: `U`, `A`, `S`, `D`.' current_status_description: type: string minLength: 1 maxLength: 100 description: 'Description for the `current_status_code`: `"Unmapped"`, `"Active"`, `"Suspended"`, `"Deleted"`' current_status_date_time: type: string minLength: 24 maxLength: 24 description: 'Date-time the status was updated. ISO 8601 format: YYYY-MM-DDThh:mm:ssTZD.' token_requestor_id: type: string minLength: 6 maxLength: 11 description: The entity uniquely recognized by Mastercard as the Token Requestor token_requestor_name: type: string minLength: 1 maxLength: 100 description: The legal name of the token requestor. There can be more than one Token Requestor ID per token Requester Name (legal name), so you should use both the ID and the name to uniquely identify a token requestor. token_type: type: string minLength: 1 maxLength: 1 description: 'Type of token. Valid values: `S` (embedded secure element token), `C` (Mastercard cloud-based payments token), `F` (<> token)' wallet_id: type: string minLength: 3 maxLength: 3 description: Identifier of the wallet provider that requested the tokenization of the card. payment_app_instance_id: type: string minLength: 48 maxLength: 64 description: Identifier of the Payment App instance within a device that will be provisioned with a token. Not present for CoF tokens. required: - token_unique_reference - wallet_id token_details_visa: type: array items: description: List of tokens. type: object properties: tokenRequestorId: type: integer format: int32 maximum: 99999999999 description: Unique ID assigned to the initiator of the token request. tokenReferenceId: type: string maxLength: 32 description: Unique ID for the token associated with the <>. entityOfLastAction: type: string enum: - TOKEN_REQUESTOR - ISSUER description: The entity that performed the last action. tokenType: type: string enum: - SECURE_ELEMENT - HCE - CARD_ON_FILE - ECOMMERCE - QRC description: Type of token. tokenStatus: type: string enum: - ACTIVE - INACTIVE - SUSPENDED - DEACTIVATED description: Status of the token. required: - tokenReferenceId - tokenRequestorId examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.253,\n \"response_data\": {\n \"token_details_mc\": [\n {\n \"token_unique_reference\": \"DWSPMC00000000010906a349d9ca4eb1a4d53e3c90a11d9c\",\n \"expiration_date\": \"0327\",\n \"current_status_code\": \"A\",\n \"current_status_description\": \"Active\",\n \"current_status_date_time\": \"2025-09-03T14:18:17-07:00\",\n \"token_requestor_id\": \"50110030273\",\n \"token_requestor_name\": \"Samsung Pay\",\n \"token_type\": \"S\",\n \"wallet_id\": \"453\"\n }\n ],\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"AYA5QR4ZBO2E674YBVCX\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-09-03 10:38:45\"\n}\n}\n" application/xml: examples: response: value: "\n 0\n Success\n 0.253\n \n \n \n DWSPMC00000000010906a349d9ca4eb1a4d53e3c90a11d9c\n 0327\n A\n Active\n 2025-09-03T14:18:17-07:00\n 50110030273\n Samsung Pay\n S\n 453\n \n \n \n \n null \n AYA5QR4ZBO2E674YBVCX\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-09-03 10:38:45\n \n\n" description: '' operationId: post_getcardtokens /manageCardToken: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: summary: Manage Card Token description: 'Use the Manage Card Token endpoint to delete, suspend, or resume a single token. To use this endpoint, the MTLCM product parameter must be set. This endpoint is currently valid only for Mastercard. > 🚧 Notice > > The token-management endpoints are available by special arrangement only. Enabling this feature requires additional setup and costs. Contact SoFi Tech Solutions for details.' parameters: [] tags: - Accounts and Cards requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g transactionId: type: string minimum: 1 maximum: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency.. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 123e4567-e89b-12d3-a456-426614174000 accountNo: type: string maximum: 18 pattern: ^$|^([0-9]+)$ description: 'The <>, <> or <> of the account. For card-specific endpoints such as this one, the CAD is preferred. Do not use the PRN if more than one card has ever been associated with this account. Pattern: PAN, PRN, or CAD Example: `"999103447228"`' example: 074103447228 tokenUniqueReference: type: - string - 'null' minLength: 48 maxLength: 48 description: "A unique reference assigned to a token and used to identify the token for the duration of its lifetime. Also called the TUR. \nPattern: 48-char alphanumeric\nExample: `\"DWSPMC00000000010906a349d9ca4eb1a4d53e3c90a11d9c\"`" example: DWSPMC00000000010906a349d9ca4eb1a4d53e3c90a11d9c operation: type: string enum: - DELETE - SUSPEND - RESUME - ACTIVATE description: 'Operation to perform. Pattern: String Example:`"SUSPEND"`' example: SUSPEND reasonCode: type: - string - 'null' description: "The reason for `operation`. See Manage Card Token Values for valid values.\nPattern: String \nExample: `\"STOLEN\"`" example: STOLEN deleteFromConsumerApp: type: - boolean - 'null' description: "If `operation: DELETE`, specify whether to delete the token from the cardholder device only or from both the device and the <> platform: \n- `true` — Delete the token from the cardholder device only.\n- `false` — Delete the token from both the device and the MDES platform. \n\nPattern: String\nExample: `true`" example: 'true' agentId: type: - string - 'null' description: 'The ID of the agent performing the token management operation. Used to track who made the change in notes. Pattern: String Example: `"agent123"`' example: agent123 userId: type: - string - 'null' description: 'The ID of the user performing the token management operation. Used to track who made the change in notes. Pattern: String Example: `"user456"`' example: user456 required: - accountNo - operation - transactionId - apiLogin - apiTransKey - providerId responses: default: content: application/json: schema: type: object properties: token_unique_reference: type: string minLength: 48 maxLength: 48 description: A unique reference assigned to a token and used to identify the token for the duration of its lifetime. example: DWSPMC00000000010906a349d9ca4eb1a4d53e3c90a11d9c examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.253,\n \"response_data\": {\n \"token_unique_reference\": \"DWSPMC00000000010906a349d9ca4eb1a4d53e3c90a11d9c\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"AYA5QR4ZBO2E674YBVCX\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-09-03 10:38:45\"\n}" application/xml: examples: response: value: "\n 0\n Success\n 0.253\n \n DWSPMC00000000010906a349d9ca4eb1a4d53e3c90a11d9c\n \n \n \n null\n AYA5QR4ZBO2E674YBVCX\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-09-03 10:38:45\n" description: '' operationId: post_managecardtoken /replaceLostStolenCard: parameters: - $ref: '#/components/parameters/ResponseContentTypeHeaderParam' post: parameters: [] description: Use the Replace Lost/Stolen Card endpoint to report a card as lost or stolen and to request a replacement card. This endpoint is valid only for physical cards and Digital First cards. The response from this endpoint includes the new >, new >, and new > for the replacement card. You must be PCI-compliant to receive the full PAN; otherwise, you will receive a masked PAN. summary: Replace Lost/Stolen Card requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: providerId: type: integer description: 'Your unique provider identifier from SoFi Tech Solutions. Pattern: 10 digits or less Example: `9999`' example: 9999 transactionId: type: string minLength: 1 maxLength: 60 description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for idempotency. A UUID is preferred. Pattern: Maximum 60 characters Example: `"9845dk-39fdk3fj3-4483483478"`' example: 9845dk-39fdk3fj3-4483483478 apiLogin: type: string description: 'Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: `"AbC123-9999"`' example: AbC123-9999 apiTransKey: type: string description: 'Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: `"4sb62fh6w4h7w34g"`' example: 4sb62fh6w4h7w34g accountNo: type: string minLength: 1 pattern: ^([0-9]{12}|[0-9]{16}|[0-9]{1,10})$ description: 'The <>, <> or <> of the account. Pattern: PAN, PRN, or CAD Example: `"999103447228"`' example: '999103447228' bypassRepFee: type: - string - 'null' default: N enum: - Y - N - '' description: "Pass `Y` to bypass the card replacement fee (REP).\n Pattern: `Y` or `N`\nExample: `\"Y\"`" example: Y cardStatus: type: string enum: - L - S minLength: 1 description: "Specifies whether the card is being marked as lost (`L`) or stolen (`S`). Default: `L`. \nPattern: `L` or `S`\nExample: `L`" example: L cardNumberLastFour: type: - string - 'null' pattern: ^$|[0-9]{4}$ description: 'If multiple cards are associated with this account, use this value to ensure that the correct card is selected. Pattern: 4 digits Example: `"0789"`' example: 0789 required: - accountNo - cardStatus - apiLogin - apiTransKey - providerId tags: - Accounts and Cards responses: default: description: '' content: application/json: schema: type: object properties: status_code: type: - integer - 'null' description: The response status code. May return a string for some statuses. status: type: - string - 'null' description: The condition of a process or response processing_time: type: - number - 'null' description: The time elapsed in processing the transaction echo: description: A structure that contains transaction ID information type: - object - 'null' properties: transaction_id: type: - string - 'null' description: An ID that represents an API transaction provider_timestamp: type: - string - 'null' format: date-time description: Store a related timestamp for reporting and troubleshooting purposes provider_transaction_id: type: - string - 'null' description: Secondary transaction identifier (generated by a provider) required: - provider_timestamp - provider_transaction_id - transaction_id system_timestamp: type: - string - 'null' format: date-time description: A system generated timestamp rtoken: type: - string - 'null' description: A system-generated ID used for tracking errors: type: array description: A list of errors generated while the request was processed items: type: string response_data: description: A structure for the response data. It can be empty but usually will contain information. type: - object - 'null' properties: card_number: type: string description: The full PAN if you are PCI compliant or the masked PAN if you are not emboss_uuid: type: - string - 'null' description: 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. expiry_date: type: - string - 'null' description: The expiry date (MMDDYYYY) of the card card_security_code: type: - string - 'null' description: The card verification value (CVV) or card verification code (CVC) status: type: string description: The status of this replacement card card_id: type: string description: The CAD for the card. Use this value instead of the PAN if you are not PCI compliant external_card_id: type: - string - 'null' description: External card identifier pmt_ref_no: type: string description: The payment reference number (PRN) of the card account required: - card_id - card_number - card_security_code - expiry_date - external_card_id - pmt_ref_no - status required: - echo - processing_time - response_data - rtoken - status - status_code - system_timestamp examples: response: value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.298,\n \"transaction_id\": \"UUID\",\n \"response_data\": { \n \"card_number\": \"487093XXXXXX2307\",\n \"emboss_uuid\": \"a81bc81b-dfad-4e5d-abff-90865d1e13b1\",\n \"expiry_date\": \"08262027\",\n \"card_security_code\": \"123\",\n \"status\": \"N\",\n \"card_id\": \"648428\",\n \"external_card_id\": null,\n \"pmt_ref_no\": \"999104890593\" },\n \"echo\": {\n\"provider_transaction_id\": \"\",\n\"provider_timestamp\": null,\n\"transaction_id\": \"629d890a-d773-4615-9bc4-bbe12effcf94\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-08-13 10:36:54\"\n}\n" application/xml: examples: response: value: "\n\n \n \n \n 629d890a-d773-4615-9bc4-bbe12effcf94\n \n 0.298\n \n 648428\n 487093XXXXXX2307\n 123\n a81bc81b-dfad-4e5d-abff-90865d1e13b1\n 08262027\n \n 999104890593\n N\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n Success\n 0\n 2025-08-13 10:36:54\n UUID\n" operationId: post_replaceloststolencard components: parameters: ResponseContentTypeHeaderParam: name: response-content-type in: header description: Use this header instead of the standard `accept` header to specify the response format. schema: type: string enum: - xml - json default: json x-readme: samples-languages: - curl - python - node - java - go - ruby - javascript explorer-enabled: true proxy-enabled: true