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