openapi: 3.2.0
info:
title: Program Transactions API
version: '4.0'
servers:
- url: api-{corename}.{env}.gpsrv.com/intserv/4.0/
tags:
- name: Transactions
paths:
/getTransHistory:
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:
start_date:
type: string
format: date-time
description: The start date for the transaction range
end_date:
type: string
format: date-time
description: The end date for the transaction range
number_of_pages:
type: integer
format: int32
description: The total number of pages available in the paginated response
page:
type: integer
format: int32
description: The current page being retunred in the paginated response
total_record_count:
type: integer
format: int32
description: Number of records in the accounts list display
transaction_count:
type: integer
format: int32
description: The number of transactions listed in the response
transactions:
type: array
description: List of transactions
items:
type: object
properties:
pmt_ref_no:
type:
- string
- 'null'
description: Payment reference number.
act_id:
type:
- string
- 'null'
description: Transaction activity identifier used in the SoFi Tech Solutions system
act_type:
type:
- string
- 'null'
description: Identifier for the transaction activity type. See the Activity Type enumeration.
post_ts:
type:
- string
- 'null'
format: date-time
description: System timestamp when the transaction posted to the customer account, in our system time
amt:
type:
- string
- 'null'
description: The transaction amount in the currency of the account. A negative amount debits funds from the customer account.
details:
type:
- string
- 'null'
description: Description provided by the merchant about the transaction (DE043)
description:
type:
- string
- 'null'
description: Description of the activity type specified in the `act_type` field. See the Activity Type enumeration.
source_id:
type:
- string
- 'null'
description: System-generated identifier that maps to the original transaction, such as `auth_id`, `pmt_id`, or `adj_id`
bal_id:
type:
- string
- 'null'
description: Balance ID, a system-generated identifier for the account on which the transaction occurs. Maps to `galileo_account_number`.
prod_id:
type:
- string
- 'null'
description: Identifier for the product associated with the account
auth_ts:
type:
- string
- 'null'
format: date-time
description: System timestamp when the transaction was authorized, in our system time
trans_code:
type:
- string
- 'null'
description: Reference your program's activity and transaction types for possible values.
ach_transaction_id:
type:
- string
- 'null'
description: Identifier for the ACH transaction, if applicable
external_trans_id:
type:
- string
- 'null'
description: Optional identifier for a transaction that you supply. External to the system.
original_auth_id:
type:
- string
- 'null'
description: The `auth_id` of the previous transaction in the sequence, if any. Maps to `prior_id`.
network_code:
type:
- string
- 'null'
description: A system-generated code to identify the subnetwork over which the transaction took place. Maps to `network_id`.
local_amt:
type:
- string
- 'null'
description: Amount, in cents, of the authorization request, in the currency at the point of sale. 12-digit number including leading zeros. This amount does not include upcharges or program fees. (DE004)
local_curr_code:
type:
- string
- 'null'
description: Currency code for `local_amt` (DE049)
settle_amt:
type:
- string
- 'null'
description: The transaction amount in the settlement currency (DE005)
settle_curr_code:
type:
- string
- 'null'
description: Currency code for `settle_amt` (DE050)
billing_amt:
type:
- string
- 'null'
description: 'The transaction amount in the currency of the account (DE006) '
billing_curr_code:
type:
- string
- 'null'
description: Currency code for `billing_amt` (DE051)
mcc:
type:
- string
- 'null'
description: Category code for the merchant that initiated the transaction (DE018)
merchant_id:
type:
- string
- 'null'
description: Network-assigned identifier for a merchant (DE042)
formatted_merchant_desc:
type:
- string
- 'null'
description: The same information as in the `details` field, with formatting
terminal_id:
type:
- string
- 'null'
description: Identifier for the card reader at the point of sale (DE041)
card_id:
type:
- string
- 'null'
description: A system-generated identifier for a card, which can be used instead of the PAN. Maps to `cad`.
credit_ind:
type:
- string
- 'null'
description: Indicates whether a PIN was input at the point of sale. `Y` = No PIN was input. `N` = A PIN was input. `None` = Not a card transaction.
iac_tax:
type:
- number
- 'null'
format: float
description: Impuesto al Consumo. Colombian consumption tax. Required for the Mastercard Interchange Intracountry Calculation Program.
iva_tax:
type:
- number
- 'null'
format: float
description: Impuesto al Valor Agregado. Colombian value-added tax. Required for the Mastercard Interchange Intracountry Calculation Program.
funding_account_prn:
type:
- string
- 'null'
description: The <> of the <> funding account
spending_account_prn:
type:
- string
- 'null'
description: The PRN of the RTF spending account
original_incremental_id:
type:
- integer
- 'null'
format: int32
description: The original incremental id. The id for the first incremental transaction
latest_incremental_id:
type:
- integer
- 'null'
format: int32
description: The latest incremental id. The id for the most recent transaction
required:
- act_id
- act_type
- amt
- auth_ts
- bal_id
- description
- details
- mcc
- pmt_ref_no
- post_ts
- prod_id
- source_id
- trans_code
required:
- end_date
- number_of_pages
- page
- start_date
- total_record_count
- transaction_count
- transactions
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.065,\n \"response_data\": {\n \"start_date\": \"2025-12-01 00:00:00\",\n \"end_date\": \"2025-07-13 23:59:59\",\n \"number_of_pages\": 1,\n \"page\": 1,\n \"total_record_count\": 4,\n \"transaction_count\": 4,\n \"transactions\": [\n {\n \"pmt_ref_no\": \"001108537422\",\n \"act_id\": \"122876467\",\n \"act_type\": \"AD\",\n \"mcc\": \"534882\",\n \"post_ts\": \"2025-01-17 10:01:06\",\n \"amt\": \"-5\",\n \"details\": \"test adj\",\n \"description\": \"Adjustment\",\n \"source_id\": \"52621\",\n \"bal_id\": \"425782\",\n \"prod_id\": \"88\",\n \"auth_ts\": \"2025-01-17 10:01:06\",\n \"trans_code\": \"ADF\",\n \"ach_transaction_id\": null,\n \"external_trans_id\": \"60130481\",\n \"original_auth_id\": \"0\",\n \"network_code\": \"?\",\n \"local_amt\": null,\n \"local_curr_code\": null,\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"merchant_id\": \"\",\n \"formatted_merchant_desc\": \"\",\n \"terminal_id\": \"\",\n \"card_id\": \"0\",\n \"iac_tax\": \"0\",\n \"iva_tax\": \"0\"\n },\n {\n \"pmt_ref_no\": \"001108537422\",\n \"act_id\": \"122876352\",\n \"act_type\": \"FE\",\n \"mcc\": \"5344778\",\n \"post_ts\": \"2025-01-17 09:46:43\",\n \"amt\": \"-9.95\",\n \"details\": \"Activation Fee\",\n \"description\": \"Fee\",\n \"source_id\": \"690045\",\n \"bal_id\": \"425782\",\n \"prod_id\": \"88\",\n \"auth_ts\": \"2025-01-17 09:46:43\",\n \"trans_code\": \"FE0201\",\n \"ach_transaction_id\": null,\n \"external_trans_id\": \"\",\n \"original_auth_id\": \"0\",\n \"network_code\": \"?\",\n \"local_amt\": null,\n \"local_curr_code\": null,\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"merchant_id\": \"\",\n \"formatted_merchant_desc\": \"\",\n \"terminal_id\": \"\",\n \"card_id\": \"0\",\n \"iac_tax\": \"0\",\n \"iva_tax\": \"0\"\n },\n {\n \"pmt_ref_no\": \"001108537448\",\n \"act_id\": \"122876160\",\n \"act_type\": \"AD\",\n \"mcc\": \"53463221\",\n \"post_ts\": \"2025-01-17 09:23:16\",\n \"amt\": \"-5\",\n \"details\": \"test adj\",\n \"description\": \"Adjustment\",\n \"source_id\": \"52618\",\n \"bal_id\": \"425782\",\n \"prod_id\": \"1068\",\n \"auth_ts\": \"2025-01-17 09:23:16\",\n \"trans_code\": \"ADF\",\n \"ach_transaction_id\": null,\n \"external_trans_id\": \"66659246\",\n \"original_auth_id\": \"0\",\n \"network_code\": \"?\",\n \"local_amt\": null,\n \"local_curr_code\": null,\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"merchant_id\": \"\",\n \"formatted_merchant_desc\": \"\",\n \"terminal_id\": \"\",\n \"card_id\": \"0\",\n \"iac_tax\": \"0\",\n \"iva_tax\": \"0\"\n },\n {\n \"pmt_ref_no\": \"001108537430\",\n \"act_id\": \"122876046\",\n \"act_type\": \"PM\",\n \"mcc\": \"534882\",\n \"post_ts\": \"2025-01-17 09:09:16\",\n \"amt\": \"100\",\n \"details\": \"Retail Load\",\n \"description\": \"Payment\",\n \"source_id\": \"3792011\",\n \"bal_id\": \"425782\",\n \"prod_id\": \"1067\",\n \"auth_ts\": \"2025-01-17 09:09:16\",\n \"trans_code\": \"PMRL\",\n \"ach_transaction_id\": null,\n \"external_trans_id\": \"T6NJAH3TV5SL2UXHSSO7\",\n \"original_auth_id\": \"0\",\n \"network_code\": \"?\",\n \"local_amt\": null,\n \"local_curr_code\": null,\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"merchant_id\": \"\",\n \"formatted_merchant_desc\": \"\",\n \"terminal_id\": \"\",\n \"card_id\": null,\n \"iac_tax\": \"0\",\n \"iva_tax\": \"4567.9876\"\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"PA11CRHVK1ILQWK3WSN6\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:32:15\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.075\n \n 2025-12-01 00:00:00\n 2025-07-13 23:59:59\n 1\n 1\n 3\n 3\n \n \n 001108537430\n 122876373\n AD\n 534882\n 2025-01-17 09:49:16\n -5\n test adj \n Adjustment\n 52619\n 425782\n 1067\n 2025-01-17 09:49:16\n ADF\n \n 76852773\n 0\n ?\n \n \n \n \n \n \n \n \n \n 0\n 0\n 0\n \n \n 001108537448\n 122876160\n AD\n 5344778\n 2025-01-17 09:23:16\n -5\n test adj \n Adjustment\n 52618\n 425782\n 1068\n 2025-01-17 09:23:16\n ADF\n \n 66659246\n 0\n ?\n \n \n \n \n \n \n \n \n \n 0\n 0\n 0\n \n \n 001108537430\n 122876046\n PM\n 53463221\n 2025-01-17 09:09:16\n 100\n Retail Load \n Payment\n 3792011\n 425782\n 1067\n 2025-01-17 09:09:16\n PMRL\n \n T6NJAH3TV5SL2UXHSSO7\n 0\n ?\n \n \n \n \n \n \n \n \n \n \n 0\n 0\n \n \n \n \n \n \n 2JDT56HUK8EOW5VPAYRM\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:27:47\n"
description: ''
parameters: []
summary: Get Transaction History
description: 'Use the Get Transaction History endpoint to retrieve a list of posted transactions (settlements, payments, adjustments, fees) during a specified timespan. This endpoint does not return unsettled authorizations.
- As desired, use the `act_type` field in the response to filter the responses by transaction type.
- See Record-Set Pagination for instructions on using the paging parameters.
- Open the Recipe below to see a response example.'
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
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`. Max 1098 days (~3 years) after `startDate`. \nPattern: YYYY-MM-DD or YYYY-MM-DD hh:mm:ss\nExample: `\"2016-01-01\"`"
example: '2016-01-01'
recordCnt:
type:
- integer
- 'null'
format: int32
minimum: 1
maximum: 99999
description: 'The maximum number of records per page to be returned.
Pattern: Positive integer `1-99999`
Example: `100`'
example: 100
page:
type:
- integer
- 'null'
format: int32
default: 1
description: 'The number of the page to retrieve.
Pattern: Integer value of `1` or greater
Example: `3`'
example: 3
includeRelated:
type: integer
format: int32
default: 1
enum:
- 0
- 1
description: "Whether to return transactions for all accounts that share the balance (`bal_id`). \n- `0` — Retrieve only transactions from the specified account. \n- `1` — **Default**. Retrieve all transactions that share the same balance. \n\nPattern: Integer\nExample: `0`"
example: 0
required:
- accountNo
- endDate
- startDate
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
operationId: post_gettranshistory
/getAuthHistory:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
description: 'Use the Get Authorization History endpoint to retrieve a list of authorizations. By default it returns authorizations that have not settled, expired, or been reversed.
You can return authorizations in any status by setting `includeAllStatuses`.
- See Record-Set Pagination for instructions on using the paging parameters.
- Open the Recipe below to see a response example.'
operationId: post_getauthhistory
parameters: []
requestBody:
content:
application/x-www-form-urlencoded:
schema:
properties:
accountNo:
description: 'The <> or <> of the account.
Pattern: PAN or PRN
Example: `"074103447228"`'
example: 074103447228
pattern: ^.+$
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
cardId:
description: Supply the cardId (CAD) to filter authorization history to those transactions performed on the provided card.
example: '12345'
type:
- integer
- 'null'
endDate:
description: "The end date for the date range, either a date or a date-time. Must be equal to or later than `startDate`. Max 1098 days (~3 years) after `startDate`. \nPattern: YYYY-MM-DD or YYYY-MM-DD hh:mm:ss\nExample: `\"2016-01-01\"`"
example: '2016-01-01'
format: date
type: string
includeAllStatuses:
description: "When true, include transactions in all statuses. When not set, return transactions in the \"pending\" statuses.\n \nPattern: Boolean\nExample: `0`"
example: 0
type:
- boolean
- 'null'
includeExtendedRiskData:
description: "When true, include extended risk data.\n \nPattern: Boolean\nExample: `0`"
example: 0
type:
- boolean
- 'null'
includeRelated:
description: "Whether to return transactions from accounts that share the same balance (`galileo_account_number`). \n\nWhen `accountNo` contains a primary account:\n- `0` or `1` — Retrieve all transactions from accounts that share the same balance. \n- _blank_ — Retrieve all transactions from the specified account only.\n\nWhen `accountNo` contains a secondary account:\n- `0` — Retrieve all transactions from the specified account only. \n- `1` — Retrieve all transactions from accounts that share the same balance.\n \nPattern: Boolean\nExample: `0`"
example: 0
type:
- boolean
- 'null'
page:
default: 1
description: 'The number of the page to retrieve.
Pattern: Integer value of `1` or greater
Example: `3`'
example: 3
maximum: 999999
minimum: 1
type:
- integer
- 'null'
recordCnt:
description: 'The maximum number of records per page to be returned.
Pattern: Positive integer `1-99999`
Example: `100`'
example: 100
maximum: 99999
minimum: 1
type:
- integer
- 'null'
startDate:
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'
format: date
type: string
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
required:
- accountNo
- endDate
- startDate
- transactionId
- 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:
authorizations:
description: List of authorizations
items:
additionalProperties: false
properties:
acq_id:
description: The identifier for the acquirer (DE032)
type: string
amount:
description: The authorization amount, in the currency of the account
type: string
auth_id:
description: A system-generated identifier for an authorization.
type: string
billing_amt:
description: The billing amount in cents (DE006). 12-digit number including leading zeros.
type:
- string
- 'null'
billing_curr_code:
description: Currency code for `billing_amt` (DE051)
type:
- string
- 'null'
can_be_expired:
description: 'Whether to allow an expiration on this authorization: `1` = Allow, or `0` = Do not allow'
type: string
details:
description: Description provided by the merchant about the transaction (DE043)
type: string
details_formatted:
description: The same information as in the `details` field, with formatting
type: string
iac_tax:
description: Impuesto al Consumo. Colombian consumption tax. Required for the Mastercard Interchange Intracountry Calculation Program.
type:
- number
- 'null'
iva_tax:
description: Impuesto al Valor Agregado. Colombian value-added tax. Required for the Mastercard Interchange Intracountry Calculation Program.
type:
- number
- 'null'
latest_incremental_id:
description: The `auth_id` of the previous authorization in an incremental sequence, if any. This field contains the same information as `original_auth_id` and is present only by request.
type:
- string
- 'null'
local_amt:
description: Amount in cents of the transaction based on the currency at the point of sale (DE004). 12-digit number including leading zeros.
type:
- string
- 'null'
local_curr_code:
description: Currency code for `local_amt` (DE049)
type:
- string
- 'null'
mcc:
description: Category code for the merchant that initiated the transaction (DE018)
type: string
merchant_id:
description: Network-assigned identifier for a merchant (DE042)
type: string
network_code:
description: A system-generated code to identify the network over which the transaction took place. Maps to `network_id`.
type:
- string
- 'null'
original_auth_id:
description: The `auth_id` of the previous transaction in the sequence, if any. Maps to `prior_id` in other contexts.
type:
- string
- 'null'
original_incremental_id:
description: The `auth_id` of the first authorization in an incremental sequence, if any. This field is present only by request.
type:
- string
- 'null'
settle_amt:
description: The transaction amount, in cents, in the settlement currency (DE005). 12-digit number including leading zeros.
type:
- string
- 'null'
settle_curr_code:
description: Currency code for `settle_amt` (DE050)
type:
- string
- 'null'
terminal_id:
description: Identifier for the card reader at the point of sale (DE041)
type: string
timestamp:
description: The system timestamp for the authorization, in our system time
format: date-time
type:
- string
- 'null'
type:
description: Reference your program's authorization transaction types for possible values.
type: string
required:
- acq_id
- amount
- auth_id
- billing_amt
- billing_curr_code
- can_be_expired
- details
- details_formatted
- local_amt
- local_curr_code
- mcc
- merchant_id
- network_code
- original_auth_id
- settle_amt
- settle_curr_code
- terminal_id
- timestamp
- type
type: object
type: array
number_of_pages:
description: Total number of pages in the authorizations
type: integer
page:
description: The page number retrieved in the context of recordset paging
type: integer
total_record_count:
description: The number of records in the authorizations
type: integer
required:
- authorizations
- number_of_pages
- page
- total_record_count
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
examples:
response:
value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.074,\n \"response_data\": {\n \"authorizations\": [\n {\n \"auth_id\": \"14125\",\n \"details\": \"TEST MERCHANT ALT LAKE UTUS\",\n \"details_formatted\": \"TEST MERCHANT, ALT LAKE, UT\",\n \"amount\": \"-25\",\n \"timestamp\": \"2025-08-30 10:01:14\",\n \"type\": \"L\",\n \"mcc\": \"4972\",\n \"merchant_id\": \"W5K5YS33J7LRJR4\",\n \"acq_id\": \"03695\",\n \"terminal_id\": \"FHFUJ0DH\",\n \"can_be_expired\": \"1\",\n \"original_auth_id\": \"0\",\n \"network_code\": \"V\",\n \"local_amt\": \"000000002500\",\n \"local_curr_code\": \"840\",\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"iac_tax\": \"0\",\n \"iva_tax\": \"0\"\n },\n {\n \"auth_id\": \"14779\",\n \"details\": \"TEST MERCHANT ALT LAKE UTUS\",\n \"details_formatted\": \"TEST MERCHANT, ALT LAKE, UT\",\n \"amount\": \"-25\",\n \"timestamp\": \"2025-09-04 13:18:16\",\n \"type\": \"L\",\n \"mcc\": \"4856\",\n \"merchant_id\": \"XB550UD2NEWTASS\",\n \"acq_id\": \"437660\",\n \"terminal_id\": \"HJ59NQ27\",\n \"can_be_expired\": \"1\",\n \"original_auth_id\": \"0\",\n \"network_code\": \"V\",\n \"local_amt\": \"000000002500\",\n \"local_curr_code\": \"840\",\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"iac_tax\": \"0\",\n \"iva_tax\": \"4567\"\n },\n {\n \"auth_id\": \"14825\",\n \"details\": \"TEST MERCHANT ALT LAKE UTUS\",\n \"details_formatted\": \"TEST MERCHANT, ALT LAKE, UT\",\n \"amount\": \"-25\",\n \"timestamp\": \"2025-09-04 14:45:11\",\n \"type\": \"L\",\n \"mcc\": \"4083\",\n \"merchant_id\": \"XVVFISDR7NM4NZS\",\n \"acq_id\": \"137723\",\n \"terminal_id\": \"FJZ2GD43\",\n \"can_be_expired\": \"1\",\n \"original_auth_id\": \"0\",\n \"network_code\": \"V\",\n \"local_amt\": \"000000002500\",\n \"local_curr_code\": \"840\",\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"iac_tax\": \"0\",\n \"iva_tax\": \"4567.9876\"\n },\n {\n \"auth_id\": \"63\",\n \"details\": \"98AOMFZ3ZUSHMB7 220 CT SALT LAKE US\",\n \"details_formatted\": \"98AOMFZ3ZUSHMB7 220 CT SALT LAKE US\",\n \"amount\": \"-25\",\n \"timestamp\": \"2025-09-17 15:00:37\",\n \"type\": \"M\",\n \"mcc\": \"6011\",\n \"merchant_id\": \"98AOMFZ3ZUSHMB7\",\n \"acq_id\": \"012563\",\n \"terminal_id\": \"LLZRP3OL\",\n \"can_be_expired\": \"1\",\n \"original_auth_id\": \"0\",\n \"network_code\": \"S\",\n \"local_amt\": \"000000002500\",\n \"local_curr_code\": \"840\",\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"iac_tax\": \"0\",\n \"iva_tax\": \"0\"\n },\n {\n \"auth_id\": \"62\",\n \"details\": \"98AOMFZ3ZUSHMB7 220 CT SALT LAKE US\",\n \"details_formatted\": \"98AOMFZ3ZUSHMB7 220 CT SALT LAKE US\",\n \"amount\": \"-25\",\n \"timestamp\": \"2025-09-17 15:00:37\",\n \"type\": \"M\",\n \"mcc\": \"6011\",\n \"merchant_id\": \"98AOMFZ3ZUSHMB7\",\n \"acq_id\": \"012563\",\n \"terminal_id\": \"LLZRP3OL\",\n \"can_be_expired\": \"1\",\n \"original_auth_id\": \"0\",\n \"network_code\": \"S\",\n \"local_amt\": \"000000002500\",\n \"local_curr_code\": \"840\",\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"iac_tax\": \"0\",\n \"iva_tax\": \"4567.9876\"\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 \n 14125\n TEST MERCHANT ALT LAKE UTUS \n TEST MERCHANT, ALT LAKE, UT\n -25\n 2025-08-30 10:01:14\n L\n 4972\n W5K5YS33J7LRJR4\n 03695\n FHFUJ0DH\n 1\n 0\n V\n 000000002500\n 840\n \n \n \n \n 0\n 0\n \n \n 14779\n TEST MERCHANT ALT LAKE UTUS \n TEST MERCHANT, ALT LAKE, UT\n -25\n 2025-09-04 13:18:16\n L\n 4856\n XB550UD2NEWTASS\n 437660\n HJ59NQ27\n 1\n 0\n V\n 000000002500\n 840\n \n \n \n \n 0\n 4567.9876\n \n \n 14825\n TEST MERCHANT ALT LAKE UTUS \n TEST MERCHANT, ALT LAKE, UT\n -25\n 2025-09-04 14:45:11\n L\n 4083\n XVVFISDR7NM4NZS\n 137723\n FJZ2GD43\n 1\n 0\n V\n 000000002500\n 840\n \n \n \n \n 0\n 4567.9876\n \n \n 63\n 98AOMFZ3ZUSHMB7 220 CT SALT LAKE US \n 98AOMFZ3ZUSHMB7 220 CT SALT LAKE US\n -25\n 2025-09-17 15:00:37\n M\n 6011\n 98AOMFZ3ZUSHMB7\n 012563\n LLZRP3OL\n 1\n 0\n S\n 000000002500\n 840\n \n \n \n \n 0\n 0\n \n \n 62\n 98AOMFZ3ZUSHMB7 220 CT SALT LAKE US \n 98AOMFZ3ZUSHMB7 220 CT SALT LAKE US\n -25\n 2025-09-17 15:00:37\n M\n 6011\n 98AOMFZ3ZUSHMB7\n 012563\n LLZRP3OL\n 1\n 0\n S\n 000000002500\n 840\n \n \n \n \n 0\n 4567.9876\n \n \n \n \n \n \n 15FTBIF1UOB2EZ3RRJ9I\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:27:16\n"
description: Successful response
summary: Get Authorization History
tags:
- Transactions
/getAccountOverview:
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:
pmt_ref_no:
type: string
description: Payment reference number.
status:
type: string
description: Status of the account
first_fund_date:
type:
- string
- 'null'
format: date
description: Date the account was first funded
application_date:
type:
- string
- 'null'
format: date
description: Date the account application was received
balance:
type: number
format: float
description: The current account balance
currency_code:
type: string
description: A three-character code to represent global currencies
profile:
type: object
properties:
id:
type: string
description: Account holder's primary ID
id2:
type:
- string
- 'null'
description: Account holder's secondary ID
id3:
type:
- string
- 'null'
description: Account holder's tertiary ID
id_type:
type: integer
format: int32
description: The ID type for `id`. See Customer ID Types for valid values
id2_type:
type:
- integer
- 'null'
format: int32
description: The ID type for `id2`
id3_type:
type:
- integer
- 'null'
format: int32
description: The ID type for `id3`
first_name:
type: string
description: Account holder's first name
middle_name:
type:
- string
- 'null'
description: Account holder's middle name
last_name:
type: string
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
business_name:
type:
- string
- 'null'
description: Business name on the account
city:
type:
- string
- 'null'
description: Account holder's city
state:
type: string
description: Account holder's state
postal_code:
type: string
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.
home_phone:
type:
- string
- 'null'
description: Account holder's home phone number
mobile_phone:
type:
- string
- 'null'
description: Account holder's mobile phone number
mobile_phone_country_code:
type:
- string
- 'null'
description: Account holder's mobile phone country code
carrier_id:
type:
- integer
- 'null'
format: int32
description: Account holder's mobile phone carrier ID
email:
type:
- string
- 'null'
description: Account holder's email address
dob:
type:
- string
- 'null'
format: date
description: Account holder's date of birth
ship_to_address:
type: object
properties:
address_1:
type:
- string
- 'null'
description: First line of the shipping address
address_2:
type:
- string
- 'null'
description: Second line of the shipping address
city:
type:
- string
- 'null'
description: City for the shipping address
state:
type:
- string
- 'null'
description: State for the shipping address
postal_code:
type:
- string
- 'null'
description: Postal code for the shipping address
country_code:
type:
- string
- 'null'
description: ISO 3166 country code indicating the country for the shipping address
required:
- address_1
- address_2
- city
- country_code
- postal_code
- state
express_mail:
type:
- string
- 'null'
description: Indicates whether to use express mail for shipping
occupation:
type:
- string
- 'null'
description: Account holder's occupation
income_source:
type:
- string
- 'null'
description: Account holder's income source
monthly_income:
type:
- string
- 'null'
description: Account holder's monthly income
preferred_lang:
type:
- string
- 'null'
description: Account holder's preferred language
preferred_name:
type:
- string
- 'null'
required:
- address_1
- address_2
- business_name
- city
- country_code
- dob
- email
- first_name
- home_phone
- id
- id_type
- last_name
- middle_name
- mobile_phone
- postal_code
- ship_to_address
- state
start_date:
type:
- string
- 'null'
format: date-time
description: The start date for the range that account information is displayed
end_date:
type:
- string
- 'null'
format: date-time
description: The end date for the range that account information is displayed
transaction_count:
type: integer
format: int32
description: The number of transactions listed in the response
transactions:
type: array
description: List of transactions
items:
type: object
properties:
pmt_ref_no:
type: string
description: Payment reference number.
act_id:
type:
- string
- 'null'
description: Transaction activity identifier used in the SoFi Tech Solutions system
act_type:
type:
- string
- 'null'
description: Identifier for the transaction activity type. See the Activity Type enumeration.
mcc:
type: string
description: Merchant Category Code (MCC) for the merchant that initiated the transaction (DE018)
post_ts:
type:
- string
- 'null'
format: date-time
description: The system timestamp when the transaction posted to the customer account, in our system time
amt:
type: string
description: The transaction amount in the currency of the account. A negative amount debits funds from the customer account.
details:
type: string
description: Description provided by the merchant about the transaction (DE043)
description:
type:
- string
- 'null'
description: Description of the activity type (`act_type`). See the Activity Type enumeration.
source_id:
type: string
description: System-generated identifier that maps to the original transaction, such as `auth_id`, `pmt_id`, or `adj_id`
bal_id:
type: string
description: Balance ID, a system-generated identifier for the account on which the transaction occurs. Maps to `galileo_account_number`.
prod_id:
type: string
description: Identifier for the product associated with the account
auth_ts:
type: string
format: date-time
description: System timestamp when the transaction was authorized, in our system time
trans_code:
type: string
description: Reference your program's activity and transaction types for possible values.
ach_transaction_id:
type:
- string
- 'null'
description: Identifier for the ACH transaction, if applicable
external_trans_id:
type:
- string
- 'null'
description: Optional identifier for a transaction that you supply. External to the system.
original_auth_id:
type:
- string
- 'null'
description: The `auth_id` of the previous transaction in the sequence, if any. Maps to `prior_id`.
network_id:
type:
- string
- 'null'
description: A system-generated code to identify the subnetwork over which the transaction took place. Maps to `network_code`.
local_amt:
type:
- string
- 'null'
description: Amount of the authorization request at the point of sale. Unsigned. This amount does not include upcharges or program fees. In the `authorizations` object, this amount is displayed in cents. (DE004)
local_curr_code:
type:
- string
- 'null'
description: Currency code for `local_amt` (DE049)
settle_amt:
type:
- string
- 'null'
description: The transaction amount, in cents, in the settlement currency (DE005). 12-digit number including leading zeros.
settle_curr_code:
type:
- string
- 'null'
description: Currency code for `settle_amt` (DE050)
billing_amt:
type:
- string
- 'null'
description: The transaction amount, in cents, in the currency of the account (DE006). 12-digit number including leading zeros.
billing_curr_code:
type:
- string
- 'null'
description: Currency code for `billing_amt` (DE051)
credit_ind:
type:
- string
- 'null'
description: Indicates whether a PIN was input at the point of sale. `Y` = No PIN was input. `N` = A PIN was input. `None` = Not a card transaction, or not processed as a card transaction.
iac_tax:
type:
- number
- 'null'
format: float
description: Impuesto al Consumo. Colombian consumption tax. Required for the Mastercard Interchange Intracountry Calculation Program.
iva_tax:
type:
- number
- 'null'
format: float
description: Impuesto al Valor Agregado. Colombian value-added tax. Required for the Mastercard Interchange Intracountry Calculation Program.
funding_account_prn:
type:
- string
- 'null'
description: The <> of the <> funding account
spending_account_prn:
type:
- string
- 'null'
description: The PRN of the RTF spending account
required:
- ach_transaction_id
- act_id
- act_type
- amt
- auth_ts
- bal_id
- billing_amt
- billing_curr_code
- credit_ind
- description
- details
- external_trans_id
- local_amt
- local_curr_code
- mcc
- network_id
- original_auth_id
- pmt_ref_no
- post_ts
- prod_id
- settle_amt
- settle_curr_code
- source_id
- trans_code
authorization_count:
type: integer
format: int32
description: The number of authorizations listed in the response
authorizations:
type: array
description: List of authorizations
items:
type: object
properties:
auth_id:
type: string
description: A system-generated identifier for an authorization.
details:
type: string
description: Description provided by the merchant about the transaction (DE043)
details_formatted:
type: string
description: The same information as in the `details` field, with formatting
amount:
type: string
description: The authorization amount, in the currency of the account
timestamp:
type:
- string
- 'null'
format: date-time
description: The system timestamp for the authorization, in our system time
type:
type: string
description: Reference your program's authorization transaction types for possible values.
mcc:
type: string
description: Category code for the merchant that initiated the transaction (DE018)
merchant_id:
type: string
description: Network-assigned identifier for a merchant (DE042)
acq_id:
type: string
description: The identifier for the acquirer (DE032)
terminal_id:
type: string
description: Identifier for the card reader at the point of sale (DE041)
can_be_expired:
type: string
description: 'Whether to allow an expiration on this authorization: `1` = Allow, or `0` = Do not allow'
original_auth_id:
type:
- string
- 'null'
description: The `auth_id` of the previous transaction in the sequence, if any. Maps to `prior_id` in other contexts.
network_code:
type:
- string
- 'null'
description: A system-generated code to identify the network over which the transaction took place. Maps to `network_id`.
local_amt:
type:
- string
- 'null'
description: Amount in cents of the transaction based on the currency at the point of sale (DE004). 12-digit number including leading zeros.
local_curr_code:
type:
- string
- 'null'
description: Currency code for `local_amt` (DE049)
settle_amt:
type:
- string
- 'null'
description: The transaction amount, in cents, in the settlement currency (DE005). 12-digit number including leading zeros.
settle_curr_code:
type:
- string
- 'null'
description: Currency code for `settle_amt` (DE050)
billing_amt:
type:
- string
- 'null'
description: The billing amount in cents (DE006). 12-digit number including leading zeros.
billing_curr_code:
type:
- string
- 'null'
description: Currency code for `billing_amt` (DE051)
iac_tax:
type:
- number
- 'null'
format: float
description: Impuesto al Consumo. Colombian consumption tax. Required for the Mastercard Interchange Intracountry Calculation Program.
iva_tax:
type:
- number
- 'null'
format: float
description: Impuesto al Valor Agregado. Colombian value-added tax. Required for the Mastercard Interchange Intracountry Calculation Program.
latest_incremental_id:
type:
- string
- 'null'
description: The `auth_id` of the previous authorization in an incremental sequence, if any. This field contains the same information as `original_auth_id` and is present only by request.
original_incremental_id:
type:
- string
- 'null'
description: The `auth_id` of the first authorization in an incremental sequence, if any. This field is present only by request.
pmt_ref_no:
type: string
description: Payment reference number.
bal_id:
type: string
description: Balance ID, a system-generated identifier for the account on which the transaction occurs. Maps to `galileo_account_number`.
required:
- acq_id
- amount
- auth_id
- bal_id
- billing_amt
- billing_curr_code
- can_be_expired
- details
- details_formatted
- local_amt
- local_curr_code
- mcc
- merchant_id
- network_code
- original_auth_id
- pmt_ref_no
- settle_amt
- settle_curr_code
- terminal_id
- timestamp
- type
pending_fees:
type: array
description: List of fees
items:
type: object
properties:
fee_event_id:
type: string
description: System-generated fee transaction integer ID
type:
type: string
description: Three-letter fee code. This is not the transaction type (otype).
type_description:
type: string
description: A description of the type code
amt:
type: string
description: Amount of the fee charge
fee_date:
type: string
format: date-time
description: A timestamp for the time the fee was charged
card_id:
type:
- integer
- 'null'
format: int32
description: Integer identifier of the card as found in the raw data file (RDF). Unique identifier for a PAN.
fee_description:
type: string
description: The description on a fee
related_transaction:
description: A data structure that contains information on transactions related to a fee
type:
- object
- 'null'
properties:
details:
type:
- string
- 'null'
description: Information on a transaction or authorization
amt:
type: number
format: float
description: Amount of a fee or transaction charge
post_ts:
type: string
format: date-time
description: The time stamp of a posted transaction
required:
- amt
- details
- post_ts
required:
- amt
- card_id
- fee_date
- fee_description
- fee_event_id
- related_transaction
- type
- type_description
savings_interest:
type: object
properties:
start_date:
type: string
format: date-time
description: The start date for the period
end_date:
type: string
format: date-time
description: The end date for the period
accrual_interest:
description: Interest accrued on the account. May return an integer if the interest accrued is 0.
interest_ytd:
description: The year-to-date interest paid on a savings account. May return an integer if the interest paid is 0.
apy:
description: The Annual Percentage Yield Earned (APYE) for the requested month
required:
- accrual_interest
- apy
- end_date
- interest_ytd
- start_date
holds:
type: array
description: List of holds. Holds being returned are dependant on product parameters
items:
type: object
properties:
hold_id:
type: string
description: Identifier for the hold
create_dt:
type:
- string
- 'null'
format: date-time
description: Timestamp when the hold was created
expiry_dt:
type:
- string
- 'null'
format: date-time
description: Date the hold expires
source_id:
type:
- string
- 'null'
description: Source ID for the hold
change_ts:
type:
- string
- 'null'
format: date-time
description: Timestamp when the hold was changed
hold_type:
type:
- string
- 'null'
description: Identifier for the hold type
ext_id:
type:
- string
- 'null'
description: External identifier for the hold
dscr:
type:
- string
- 'null'
description: Description of the hold
originating_system_id:
type:
- string
- 'null'
description: Identifier that specifies the source system for the hold
agent_id:
type:
- string
- 'null'
description: Identifier for the agent that created the hold
amount:
type: number
format: float
description: The amount for the hold
xid:
type:
- string
- 'null'
description: The transaction ID associated with the hold
expiring_system_id:
type:
- string
- 'null'
description: Identifier for the process that expired the hold
expiring_agent_id:
type:
- string
- 'null'
description: Identifier for the agent that expired the hold
required:
- agent_id
- amount
- create_dt
- dscr
- expiring_agent_id
- expiring_system_id
- expiry_dt
- ext_id
- hold_id
- hold_type
- originating_system_id
- source_id
- xid
kyc_ref_no:
type:
- string
- 'null'
description: A know-your-customer (KYC) reference number for the account
curp:
type:
- string
- 'null'
description: Clave Única de Registro de Población (CURP) for the account
political_affiliation:
type:
- boolean
- 'null'
description: Whether the account is associated with a politically exposed person
place_of_birth:
type:
- string
- 'null'
description: 'Place of birth of the account holder in ISO-3166-2 format: `XX-XX`. For example, `US-NY`'
nationality:
type:
- string
- 'null'
description: Nationality of the account holder in ISO-3166-1 format (2 letters)
required:
- application_date
- authorization_count
- authorizations
- balance
- currency_code
- end_date
- first_fund_date
- pending_fees
- pmt_ref_no
- profile
- savings_interest
- start_date
- status
- transaction_count
- transactions
required:
- echo
- processing_time
- response_data
- rtoken
- status
- status_code
- system_timestamp
examples:
response:
value: "\n{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.082,\n \"response_data\": {\n \"pmt_ref_no\": \"999102163165\",\n \"status\": \"N\",\n \"first_fund_date\": \"2027-05-05\",\n \"application_date\": \"2027-04-04\",\n \"balance\": 1218.2,\n \"currency_code\": \"840\",\n \"profile\": {\n \"first_name\": \"Jack\",\n \"middle_name\": \"Abelard\",\n \"last_name\": \"Smith\",\n \"address_1\": \"33 Maple Street\",\n \"address_2\": \"#4b\",\n \"city\": \"Salt Lake City\",\n \"state\": \"UT\",\n \"postal_code\": \"84121\",\n \"country_code\": \"840\",\n \"home_phone\": \"8015556060\",\n \"mobile_phone\": \"8012222222\",\n \"email\": \"jasmith@emaildomain.com\",\n \"dob\": \"1980-01-01\",\n \"ship_to_address\": {\n \"address_1\": \"33 Business Parkway\",\n \"address_2\": \"Suite 400\",\n \"city\": \"Salt Lake City\",\n \"state\": \"UT\",\n \"postal_code\": \"84121\",\n \"country_code\": \"840\"\n },\n \"express_mail\": \"0\",\n \"occupation\": \"Project Manager\",\n \"income_source\": \"Kroger Food & Drug\",\n \"preferred_lang\": \"EN\",\n \"id\": \"MDAxNgytmjkDU8vh9uxMG6ocw2kK\",\n \"id2\": \"6fb41eb957374c06b066d80d022e776a\",\n \"id3\": null,\n \"id_type\": 2,\n \"id2_type\": 14,\n \"id3_type\": null,\n \"gids\": []\n },\n \"start_date\": \"2027-10-01 00:00:00\",\n \"end_date\": \"2027-12-15 23:59:59\",\n \"transaction_count\": 9,\n \"transactions\": [\n {\n \"pmt_ref_no\": \"999102163165\",\n \"act_id\": \"43878\",\n \"act_type\": \"SE\",\n \"mcc\": \"3424\",\n \"post_ts\": \"2027-11-17 12:18:33\",\n \"amt\": \"-380\",\n \"details\": \"Southern Car Rental, SALT LAKE CIT, US\",\n \"description\": \"Mastercard Settlement\",\n \"source_id\": \"1421468\",\n \"bal_id\": \"6439\",\n \"prod_id\": \"6107\",\n \"auth_ts\": \"2027-11-17 12:08:12\",\n \"trans_code\": \"SE5\",\n \"ach_transaction_id\": null,\n \"external_trans_id\": null,\n \"original_auth_id\": \"0\",\n \"network_id\": \"M\",\n \"local_amt\": null,\n \"local_curr_code\": \"840\",\n \"settle_amt\": null,\n \"settle_curr_code\": \"840\",\n \"billing_amt\": null,\n \"billing_curr_code\": \"840\",\n \"credit_ind\": \"Y\"\n },\n {\n \"pmt_ref_no\": \"999102163165\",\n \"act_id\": \"43871\",\n \"act_type\": \"PM\",\n \"mcc\": null,\n \"post_ts\": \"2027-11-17 12:01:51\",\n \"amt\": \"539.04\",\n \"details\": \"Retail Load\",\n \"description\": \"Payment\",\n \"source_id\": \"8893\",\n \"bal_id\": \"6439\",\n \"prod_id\": \"6107\",\n \"auth_ts\": \"2027-11-17 12:01:51\",\n \"trans_code\": \"PMRL\",\n \"ach_transaction_id\": null,\n \"external_trans_id\": \"f296950b-5089-42ca-a010-93b8c0652ed7\",\n \"original_auth_id\": \"0\",\n \"network_id\": \"?\",\n \"local_amt\": null,\n \"local_curr_code\": null,\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"credit_ind\": null\n },\n {\n \"pmt_ref_no\": \"999102163165\",\n \"act_id\": \"41423\",\n \"act_type\": \"FE\",\n \"mcc\": null,\n \"post_ts\": \"2027-10-21 09:24:04\",\n \"amt\": \"-2.5\",\n \"details\": \"ATM Domestic Fee\",\n \"description\": \"Fee\",\n \"source_id\": \"3611\",\n \"bal_id\": \"6439\",\n \"prod_id\": \"6107\",\n \"auth_ts\": \"2027-10-21 09:24:04\",\n \"trans_code\": \"FE0013\",\n \"ach_transaction_id\": null,\n \"external_trans_id\": null,\n \"original_auth_id\": \"0\",\n \"network_id\": \"?\",\n \"local_amt\": null,\n \"local_curr_code\": null,\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"credit_ind\": null\n },\n {\n \"pmt_ref_no\": \"999102163165\",\n \"act_id\": \"41413\",\n \"act_type\": \"VS\",\n \"mcc\": \"5411\",\n \"post_ts\": \"2027-10-21 08:45:03\",\n \"amt\": \"-70\",\n \"details\": \"1-Retail, LT LAKE CITY, UTUS\",\n \"description\": \"Visa settle\",\n \"source_id\": \"11452\",\n \"bal_id\": \"6439\",\n \"prod_id\": \"6107\",\n \"auth_ts\": \"2027-10-21 08:42:59\",\n \"trans_code\": \"VSA\",\n \"ach_transaction_id\": null,\n \"external_trans_id\": null,\n \"original_auth_id\": \"0\",\n \"network_id\": \"V\",\n \"local_amt\": null,\n \"local_curr_code\": null,\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"credit_ind\": \"Y\"\n },\n {\n \"pmt_ref_no\": \"999102163165\",\n \"act_id\": \"41403\",\n \"act_type\": \"VS\",\n \"mcc\": \"5411\",\n \"post_ts\": \"2027-10-21 07:48:16\",\n \"amt\": \"-20\",\n \"details\": \"3-Mercado Las Americas, LT LAKE CITY, UTUS\",\n \"description\": \"Visa settle\",\n \"source_id\": \"11447\",\n \"bal_id\": \"6439\",\n \"prod_id\": \"6107\",\n \"auth_ts\": \"2027-10-21 07:45:40\",\n \"trans_code\": \"VSA\",\n \"ach_transaction_id\": null,\n \"external_trans_id\": null,\n \"original_auth_id\": \"0\",\n \"network_id\": \"V\",\n \"local_amt\": null,\n \"local_curr_code\": null,\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"credit_ind\": \"Y\"\n },\n {\n \"pmt_ref_no\": \"999102163165\",\n \"act_id\": \"41347\",\n \"act_type\": \"SE\",\n \"mcc\": \"4121\",\n \"post_ts\": \"2027-10-20 15:58:33\",\n \"amt\": \"0\",\n \"details\": \"Southern Rideshare, SALT LAKE CIT, US\",\n \"description\": \"Mastercard Settlement\",\n \"source_id\": \"1411467\",\n \"bal_id\": \"6439\",\n \"prod_id\": \"6107\",\n \"auth_ts\": \"2027-10-20 15:53:10\",\n \"trans_code\": \"SE5\",\n \"ach_transaction_id\": null,\n \"external_trans_id\": null,\n \"original_auth_id\": \"0\",\n \"network_id\": \"M\",\n \"local_amt\": null,\n \"local_curr_code\": \"840\",\n \"settle_amt\": null,\n \"settle_curr_code\": \"840\",\n \"billing_amt\": null,\n \"billing_curr_code\": \"840\",\n \"credit_ind\": \"Y\"\n },\n {\n \"pmt_ref_no\": \"999102163165\",\n \"act_id\": \"41237\",\n \"act_type\": \"PM\",\n \"mcc\": \"4121\",\n \"post_ts\": \"2027-10-19 11:10:47\",\n \"amt\": \"100\",\n \"details\": \"Mastercard Load\",\n \"description\": \"Payment\",\n \"source_id\": \"8854\",\n \"bal_id\": \"6439\",\n \"prod_id\": \"6107\",\n \"auth_ts\": \"2027-10-19 11:10:47\",\n \"trans_code\": \"PMML\",\n \"ach_transaction_id\": null,\n \"external_trans_id\": null,\n \"original_auth_id\": \"0\",\n \"network_id\": \"?\",\n \"local_amt\": null,\n \"local_curr_code\": null,\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"credit_ind\": null\n },\n {\n \"pmt_ref_no\": \"999102163165\",\n \"act_id\": \"40632\",\n \"act_type\": \"VS\",\n \"mcc\": \"4776\",\n \"post_ts\": \"2027-10-11 15:00:34\",\n \"amt\": \"-30\",\n \"details\": \"Central Restaurant, , \",\n \"description\": \"Visa settle\",\n \"source_id\": \"10702\",\n \"bal_id\": \"6439\",\n \"prod_id\": \"6107\",\n \"auth_ts\": \"2027-10-11 15:00:33\",\n \"trans_code\": \"VSM\",\n \"ach_transaction_id\": null,\n \"external_trans_id\": null,\n \"original_auth_id\": \"0\",\n \"network_id\": \"V\",\n \"local_amt\": null,\n \"local_curr_code\": null,\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"credit_ind\": \"Y\"\n },\n {\n \"pmt_ref_no\": \"999102163165\",\n \"act_id\": \"40505\",\n \"act_type\": \"AD\",\n \"mcc\": null,\n \"post_ts\": \"2027-10-10 10:37:07\",\n \"amt\": \"-355\",\n \"details\": \"Adjustment\",\n \"description\": \"Adjustment\",\n \"source_id\": \"11059\",\n \"bal_id\": \"6439\",\n \"prod_id\": \"6107\",\n \"auth_ts\": \"2027-10-10 10:37:07\",\n \"trans_code\": \"AD7\",\n \"ach_transaction_id\": null,\n \"external_trans_id\": \"112233\",\n \"original_auth_id\": \"0\",\n \"network_id\": null,\n \"local_amt\": null,\n \"local_curr_code\": null,\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"credit_ind\": null\n }\n ],\n \"authorization_count\": 3,\n \"authorizations\": [\n {\n \"auth_id\": \"11307\",\n \"details\": \"Central Gasoline LT LAKE CITY UTUS\",\n \"details_formatted\": \"CENTRAL GASOLINE, LT LAKE CITY, UT\",\n \"amount\": \"-75\",\n \"timestamp\": \"2027-10-19 13:53:38\",\n \"type\": \"L\",\n \"mcc\": \"5542\",\n \"merchant_id\": \"KqS4Y5hJEVr9gqW\",\n \"acq_id\": \"926253\",\n \"terminal_id\": \"99179444\",\n \"can_be_expired\": \"1\",\n \"original_auth_id\": \"0\",\n \"network_code\": \"V\",\n \"local_amt\": \"000000007500\",\n \"local_curr_code\": \"840\",\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"pmt_ref_no\": \"999102163165\",\n \"bal_id\": \"6439\"\n },\n {\n \"auth_id\": \"11318\",\n \"details\": \"Central RideshareLT LAKE CITY UTUS\",\n \"details_formatted\": \"CENTRAL RIDESHARE, LT LAKE CITY, UT\",\n \"amount\": \"-66\",\n \"timestamp\": \"2027-10-19 16:33:39\",\n \"type\": \"L\",\n \"mcc\": \"4121\",\n \"merchant_id\": \"eQCDZUUFnEn9Yx5\",\n \"acq_id\": \"622996\",\n \"terminal_id\": \"17244583\",\n \"can_be_expired\": \"1\",\n \"original_auth_id\": \"11315\",\n \"network_code\": \"V\",\n \"local_amt\": \"000000001000\",\n \"local_curr_code\": \"840\",\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"pmt_ref_no\": \"999102163165\",\n \"bal_id\": \"6439\"\n },\n {\n \"auth_id\": \"13854\",\n \"details\": \"Central Car RentalLT LAKE CITY UTUS\",\n \"details_formatted\": \"CENTRAL CAR RENTAL, LT LAKE CITY, UT\",\n \"amount\": \"-575\",\n \"timestamp\": \"2027-11-17 11:52:57\",\n \"type\": \"L\",\n \"mcc\": \"3424\",\n \"merchant_id\": \"cfzgZ8kgmEA9mJm\",\n \"acq_id\": \"947566\",\n \"terminal_id\": \"79853554\",\n \"can_be_expired\": \"1\",\n \"original_auth_id\": \"0\",\n \"network_code\": \"V\",\n \"local_amt\": \"000000050000\",\n \"local_curr_code\": \"840\",\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"pmt_ref_no\": \"999102163165\",\n \"bal_id\": \"6439\"\n }\n ],\n \"pending_fees\": [\n {\n \"fee_event_id\": \"555555\",\n \"type\": \"REP\",\n \"type_description\": \"Replacement Card Fee\",\n \"amt\": \"3\",\n \"fee_date\": \"2025-11-13 00:00:00\",\n \"card_id\": \"33333\",\n \"fee_description\": null,\n \"related_transaction\": null\n }\n ],\n \"savings_interest\": {\n \"start_date\": \"2027-10-01 00:00:00\",\n \"end_date\": \"2027-12-15 23:59:59\",\n \"accrual_interest\": 0,\n \"interest_ytd\": 0,\n \"apy\": 0\n },\n \"kyc_ref_no\": null,\n \"curp\": null,\n \"political_affiliation\": false,\n \"place_of_birth\": null,\n \"nationality\": null,\n \"holds\": [\n {\n \"hold_id\": \"4444\",\n \"create_dt\": \"2027-11-15\",\n \"expiry_dt\": \"2027-18-15\",\n \"source_id\": \"88888\",\n \"change_ts\": null,\n \"hold_type\": \"DE\",\n \"ext_id\": null,\n \"dscr\": null,\n \"originating_system_id\": \"API\",\n \"agent_id\": \"qAe5Tg-0026\",\n \"amount\": 50,\n \"xid\": \"111111\",\n \"expiring_system_id\": null,\n \"expiring_agent_id\": null\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": null,\n \"provider_timestamp\": null,\n \"transaction_id\": \"629d890a-d773-4615-9bc4-bbe12effcf94\"\n },\n \"system_timestamp\": \"2027-12-15 16:23:24\",\n \"rtoken\": \"e02c5a94-d6cc-4f54-a9ef-2058e61caac1\"\n}\n"
application/xml:
examples:
response:
value: "\n0\nSuccess\n0.082\n\n 999102163165\n N\n 2027-05-05\n 2027-04-04\n 1218.2\n 840\n \n Jack\n Abelard\n Smith\n 33 Maple Street\n #4b\n Salt Lake City\n UT\n 84121\n 840\n 8015556060\n 8012222222\n jasmith@emaildomain.com\n 1980-01-01\n \n 33 Business Parkway\n Suite 400\n Salt Lake City\n UT\n 84121\n 840\n \n 0\n Project Manager\n Kroger Food & Drug\n EN\n MDAxNgytmjkDU8vh9uxMG6ocw2kK\n 6fb41eb957374c06b066d80d022e776a\n \n 2\n 14\n \n \n \n 2027-10-01 00:00:00\n 2027-12-15 23:59:59\n 9\n \n 999102163165\n 43878\n SE\n 3424\n 2027-11-17 12:18:33\n -380\n Southern Car Rental, SALT LAKE CIT, US \n Mastercard Settlement\n 1421468\n 6439\n 6107\n 2027-11-17 12:08:12\n SE5\n \n \n 0\n M\n \n 840\n \n 840\n \n 840\n Y\n \n \n 999102163165\n 43871\n PM\n \n 2027-11-17 12:01:51\n 539.04\n Retail Load \n Payment\n 8893\n 6439\n 6107\n 2027-11-17 12:01:51\n PMRL\n \n f296950b-5089-42ca-a010-93b8c0652ed7\n 0\n ?\n \n \n \n \n \n \n \n \n \n 999102163165\n 41423\n FE\n \n 2027-10-21 09:24:04\n -2.5\n ATM Domestic Fee \n Fee\n 3611\n 6439\n 6107\n 2027-10-21 09:24:04\n FE0013\n \n \n 0\n ?\n \n \n \n \n \n \n \n \n \n 999102163165\n 41413\n VS\n 5411\n 2027-10-21 08:45:03\n -70\n 1-Retail, LT LAKE CITY, UTUS \n Visa settle\n 11452\n 6439\n 6107\n 2027-10-21 08:42:59\n VSA\n \n \n 0\n V\n \n \n \n \n \n \n Y\n \n \n 999102163165\n 41403\n VS\n 5411\n 2027-10-21 07:48:16\n -20\n 3-Mercado Las Americas, LT LAKE CITY, UTUS \n Visa settle\n 11447\n 6439\n 6107\n 2027-10-21 07:45:40\n VSA\n \n \n 0\n V\n \n \n \n \n \n \n Y\n \n \n 999102163165\n 41347\n SE\n 4121\n 2027-10-20 15:58:33\n 0\n Southern Rideshare, SALT LAKE CIT, US \n Mastercard Settlement\n 1411467\n 6439\n 6107\n 2027-10-20 15:53:10\n SE5\n \n \n 0\n M\n \n 840\n \n 840\n \n 840\n Y\n \n \n 999102163165\n 41237\n PM\n 4121\n 2027-10-19 11:10:47\n 100\n Mastercard Load \n Payment\n 8854\n 6439\n 6107\n 2027-10-19 11:10:47\n PMML\n \n \n 0\n ?\n \n \n \n \n \n \n \n \n \n 999102163165\n 40632\n VS\n 4776\n 2027-10-11 15:00:34\n -30\n Central Restaurant, , \n Visa settle\n 10702\n 6439\n 6107\n 2027-10-11 15:00:33\n VSM\n \n \n 0\n V\n \n \n \n \n \n \n Y\n \n \n 999102163165\n 40505\n AD\n \n 2027-10-10 10:37:07\n -355\n Adjustment \n Adjustment\n 11059\n 6439\n 6107\n 2027-10-10 10:37:07\n AD7\n \n 112233\n 0\n \n \n \n \n \n \n \n \n \n 3\n \n 11307\n Central Gasoline LT LAKE CITY UTUS \n CENTRAL GASOLINE, LT LAKE CITY, UT\n -75\n 2027-10-19 13:53:38\n L\n 5542\n KqS4Y5hJEVr9gqW\n 926253\n 99179444\n 1\n 0\n V\n 000000007500\n 840\n \n \n \n \n \n \n 11318\n Central RideshareLT LAKE CITY UTUS \n CENTRAL RIDESHARE, LT LAKE CITY, UT\n -66\n 2027-10-19 16:33:39\n L\n 4121\n eQCDZUUFnEn9Yx5\n 622996\n 17244583\n 1\n 11315\n V\n 000000001000\n 840\n \n \n \n \n \n \n 13854\n Central Car RentalLT LAKE CITY UTUS \n CENTRAL CAR RENTAL, LT LAKE CITY, UT\n -575\n 2027-11-17 11:52:57\n L\n 3424\n cfzgZ8kgmEA9mJm\n 947566\n 79853554\n 1\n 0\n V\n 000000050000\n 840\n \n \n \n \n \n \n 555555\n REP\n Replacement Card Fee\n 3\n 2027-11-13 00:00:00\n 33333\n \n \n \n \n 2027-10-01 00:00:00\n 2027-12-15 23:59:59\n 0\n 0\n 0\n \n \n \n false\n \n \n \n 4444\n 2027-11-15\n 2027-18-15\n 88888\n \n DE\n \n \n API\n qAe5Tg-0026\n 50\n 111111\n \n \n \n\n\n \n \n 629d890a-d773-4615-9bc4-bbe12effcf94\n\n2027-12-15 16:23:24\ne02c5a94-d6cc-4f54-a9ef-2058e61caac1\n"
description: ''
parameters: []
summary: Get Account Overview
description: 'Use the Get Account Overview endpoint to retrieve the combined response data from several other endpoints. Best practice is to use this endpoint to retrieve the data for a customer''s landing page or other similar display.
Data sets returned by Get Account Overview:
- General account information (balance, status, application date)
- Cardholder profile data
- Posted transactions
- Pending card authorizations
- Pending fees (generally because of insufficient funds)
- Savings interest data, applicable only if an associated savings account exists; otherwise, a unary `savings_interest` element is returned.
> 📘 Note
>
>Transactions created by Program API endpoints (such as Create Payment, Create Adjustment, and Create Account Transfer) are not present in this endpoint''s response for several seconds after creation.'
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
- 'null'
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
- 'null'
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`. Max 1098 days (~3 years) after `startDate`. \nPattern: YYYY-MM-DD or YYYY-MM-DD hh:mm:ss\nExample: `\"2016-01-01\"`"
example: '2016-01-01'
required:
- accountNo
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
operationId: post_getaccountoverview
/createAchTransaction:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
responses:
default:
description: ''
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:
balance:
type: number
format: float
description: The available balance prior to applying the ACH transaction that is initiated by this endpoint call.For outgoing credits the balance adjustment happens shortly after calling this endpoint; for outgoing debits, the balance is adjusted when the hold period expires. An Events API message notifies when the transaction is posted to the account.
ach_transaction_id:
type: string
description: Unique identifier for the ACH transaction
required:
- ach_transaction_id
- balance
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.574,\n \"response_data\": {\n \"balance\": 100,\n \"ach_transaction_id\": \"7425\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"EIDUWS2OWCAPJ4DET9SY\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-14 14:00:32\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 2025-07-14 14:10:12\n \n 1847.07\n J4DEW2T9SYCAPWSEIDUO\n \n 0.521\n \n 12345a\n \n \n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n"
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
achAccountId:
type: integer
format: int32
minimum: 1
maximum: 999999999999
description: 'ACH account identifier (`ach_account_id`), as returned by Add ACH Account or Get ACH Accounts.
Pattern: Integer
Example: `354656`'
example: 354656
amount:
type: number
format: float
minimum: 0.01
maximum: 9999999.99
description: 'Currency amount as a whole or decimal amount.
Pattern: Positive integer or float
Example: `100.00`, `100`, or `100.73`'
example: 25.5
description:
type:
- string
- 'null'
minLength: 1
maxLength: 30
pattern: ^[\x20-\x7E]+$
description: 'Description for the ACH transaction.
Pattern: 1–30 supported characters
Example: `"One-time payroll load."`'
example: One-time payroll load.
remittanceInfo:
type:
- string
- 'null'
minLength: 1
maxLength: 80
pattern: ^[\x20-\x7E]+$
description: 'Description for the remittance. This string populates the **Payment Related Information** field of the _ACH Addenda Record_ in the outgoing <>.
Pattern: 1–80 supported characters
Example: `"Payoff 2500 transfer initiated and verified to Acct 12345678."`'
example: Payoff 2500 transfer initiated and verified to Acct 12345678.
debitCreditIndicator:
type: string
enum:
- C
- D
description: 'Specifies whether to credit (`C`) or debit (`D`) the recipient account.
Pattern: String
Example: `"D"`'
example: D
authorizationMethod:
type:
- string
- 'null'
minLength: 1
maxLength: 40
pattern: ^[\x20-\x7E]+$
description: 'The authorization method to use:
* `online_or_mobile` — Web site or mobile app
* `written_or_prearranged` — Signed document, agreement, or standing auth
For B2C debit transactions, missing or unsupported values are set to `null`, resulting in the PPD SEC code. For B2C credit and all non-B2C transactions, `authorizationMethod` is ignored and set to `null`.
Pattern: 1–40 characters
Example: `"online_or_mobile"`'
example: online_or_mobile
enum:
- online_or_mobile
- written_or_prearranged
companyEntryDesc:
type: string
minLength: 1
maxLength: 10
pattern: ^[\x20-\x7E]+$
description: "Describes the purpose of the ACH transaction. Possible values:\n* `PAYROLL` — Compensation-related payments for employees or contractors, including wages and salaries. Required only for the PPD SEC code.\n* `PURCHASE` — E-commerce-related debit transactions initiated by the cardholder. Required for WEB SEC code, except as permitted by the rule on Standing Authorization to use the TEL SEC code. \n* Free-text.\n\n See list of restricted values and use cases.\n\nPattern: Max 10 characters\nExample:`PAYROLL`"
example: PAYROLL
sameDay:
type:
- string
- 'null'
enum:
- Y
- N
description: 'Specifies whether this is a same-day transaction.
Pattern: String
Example: `"Y"`'
example: Y
identNumber:
type:
- string
- 'null'
minLength: 1
maxLength: 15
pattern: ^[a-zA-Z0-9 ]*$
description: 'Provider-supplied identifier, external to the system. This value is required only for the `CIE` and `WEB` SEC codes.
Pattern: 1–15 characters
Example: `"999456789"`'
example: '999456789'
processorToken:
type:
- string
- 'null'
description: 'Obtained from Plaid when using Plaid integration. Checks the balance of the ACH account to verify that there are sufficient funds for an ACH debit.
Pattern: String
Example: `"processor-production-35cd43b-adfc-d8aa-b331-c9ba0fdha881"`'
example: processor-production-35cd43b-adfc-d8aa-b331-c9ba0fdha881
finicityBalanceCheck:
type:
- string
- 'null'
enum:
- Y
- N
description: 'Controls whether the system performs a real-time balance check on an ACH account linked via Mastercard Finicity. By default, this check confirms that there are sufficient funds in the recipient account before initiating an ACH debit. To bypass balance checks, set to `N`.
Pattern: String
Example: `"N"`'
example: Y
holdDays:
type:
- integer
- 'null'
format: int32
minimum: 0
maximum: 9999999999
description: 'The number of hold days to apply to this transaction, which overrides the hold days in product settings. This value applies only to outgoing ACH debits (`debitCreditIndicator: D`). This parameter is available only to clients who have obtained bank approval to use it. The ACOHD parameter must be set to use this parameter.
Pattern: Integer
Example: 2'
example: 2
required:
- accountNo
- achAccountId
- amount
- companyEntryDesc
- debitCreditIndicator
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
summary: Create ACH Transaction
parameters: []
description: 'Use the Create ACH Transaction endpoint to originate an ACH transaction to move funds between a customer account (`accountNo`) and an existing ACH bank account (`achAccountId`). Use the Add ACH Account endpoint to add an ACH bank account.
For more information on this endpoint see Creating an ACH transaction in the *ACH Endpoints* guide.'
operationId: post_createachtransaction
/addPaperBiller:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
parameters: []
tags:
- Transactions
summary: Add Paper Biller
description: 'Use the Add Paper Biller endpoint to create a custom paper biller for a customer and to schedule paper bill payments. Billers that are created with this endpoint will receive a paper check instead of an electronic payment.
The account must be active (`status: N`) to use this endpoint. See Creating a Billpay Transaction for further 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. It can be empty but usually will contain information.
type:
- object
- 'null'
properties:
biller_id:
type: string
description: Positive integer value of a customer configured biller
biller_name:
type: string
description: The paper biller name
required:
- biller_id
- biller_name
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.04,\n \"response_data\": {\n \"biller_id\": \"9816\",\n \"biller_name\": \"My Landlord\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"SZZUDA1QWN9DUS6DXSVV\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:41:23\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.073\n \n 9832\n My Landlord\n \n \n \n \n SOLNP0QTNPKZDBA2H908\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:34:49\n"
description: ''
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
billerName:
type: string
description: 'Display name for the biller. You can have duplicate `billerName`s as long as the addresses are different.
Pattern: Max 50 alphanumeric characters, no punctuation
Example: `"My Landlord"`'
example: My Landlord
billerAddress1:
type: string
minLength: 3
maxLength: 80
description: 'First line of the biller address.
Pattern: Min of 3 and Max 80 alphanumeric characters
Example: `"33 Maple Street"`'
example: 33 Maple Street
billerAddress2:
type:
- string
- 'null'
minLength: 0
maxLength: 80
description: 'Second line of biller address.
Pattern: Max 30 alphanumeric characters
Example: `"#4B"`'
example: '#4B'
billerCity:
type: string
minLength: 1
maxLength: 60
description: 'Biller city.
Pattern: Max 30 letters and spaces
Example: `"Salt Lake City"`'
example: Salt Lake City
billerState:
type: string
enum:
- AL
- AK
- AZ
- AR
- CA
- CO
- CT
- DE
- DC
- FL
- GA
- HI
- ID
- IL
- IN
- IA
- KS
- KY
- LA
- ME
- MD
- MA
- MI
- MN
- MS
- MO
- MT
- NE
- NV
- NH
- NJ
- NM
- NY
- NC
- ND
- OH
- OK
- OR
- PA
- RI
- SC
- SD
- TN
- TX
- UT
- VT
- VA
- WA
- WV
- WI
- WY
- AE
- AP
- AS
- GU
- MP
- PR
- VI
- AB
- BC
- MB
- NB
- NL
- NT
- NS
- NU
- 'ON'
- PE
- QC
- SK
- YT
minLength: 2
maxLength: 2
description: 'Biller state or province.
Pattern: 2-character state or provincial abbreviation
Example: `"UT"`'
example: UT
billerZip:
type: string
minLength: 5
maxLength: 10
pattern: ^[a-zA-Z0-9\-\ ]*$
description: 'Biller postal code.
Pattern: `12345`, `12345-1234`, or `K1A-1A1`
Example: `"84121"`'
example: '84121'
billerPhone:
type:
- string
- 'null'
description: 'Biller phone number or "null".
Pattern: Exactly 10 digits, no hyphens or other characters or "null"
Example: `"8013656060"`'
example: '8013656060'
billerAccountNo:
type: string
minLength: 1
maxLength: 30
pattern: ^[A-Za-z0-9\|_\. '`\?,!@$%#\"\/\-=]{1,30}$
description: "Account number that the account holder has with the biller. This value is not validated against a formatting mask. If there is no account number for the biller, pass `n/a`. You cannot edit this value with Modify Paper Biller. If the account holder submits an incorrect value, you must remove the biller and create the biller again with the correct account number. \nPattern: Alphanumeric string including hyphens and spaces.\nExample: `\"3333223323455555\"`"
example: '3333223323455555'
frequencyType:
type:
- string
- 'null'
enum:
- O
- W
- M
- Q
- Y
description: 'Frequency of the bill payment:
* `O` — One time
* `W` — Weekly
* `M` — Monthly
* `Q` — Quarterly
* `Y` — Yearly
If this value is not `O` then `nextDate` and `endDate` are **required**.
Pattern: One letter
Example: `"W"`'
example: W
nextDate:
type:
- string
- 'null'
format: date-time
description: 'The next date that the payment is scheduled.
Pattern: YYYY-MM-DD
Example: `"2015-02-04"`'
example: '2015-02-04'
endDate:
type:
- string
- 'null'
format: date-time
description: 'The last date that the payment is scheduled. Can be up to five years in the future, so if today is 20 Jan 2020, this parameter can be no later than 20 Jan 2025. However, if today''s date is a leap day, such as 29 Feb 2020, the latest date can be 1 Mar 2025.
Pattern: YYYY-MM-DD
Example: `"2015-02-04"`'
example: '2015-02-04'
amount:
type:
- number
- 'null'
format: float
minimum: 0.01
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.5
required:
- accountNo
- billerAccountNo
- billerAddress1
- billerCity
- billerName
- billerState
- billerZip
- transactionId
- apiLogin
- apiTransKey
- providerId
operationId: post_addpaperbiller
/modifyPaperBiller:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
parameters: []
tags:
- Transactions
summary: Modify Paper Biller
description: 'Use the Modify Paper Biller endpoint to update a paper biller. All non-required fields are nullifiable. To cancel a scheduled series, either set `endDate` to the current date or pass `Null` for `frequencyType`, `nextDate` and `endDate`. The account must be active (`status: N`) to use 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. It can be empty but usually will contain information.
type:
- object
- 'null'
properties:
biller_id:
type: string
description: The ID assigned to the biller
address_1:
type:
- string
- 'null'
description: First address line of the biller
address_2:
type:
- string
- 'null'
description: Second address line of the biller
city:
type:
- string
- 'null'
description: City of the biller
state_province:
type:
- string
- 'null'
description: State of the biller
postal_code:
type:
- string
- 'null'
description: A postal code for the biller
phone:
type:
- string
- 'null'
description: The main phone number on the biller account
frequency_type:
type:
- string
- 'null'
description: 'Frequency of the bill payment: `O` (one time) `W` (weekly) `M` (monthly) `Q` (quarterly) `Y` (yearly)'
next_date:
type:
- string
- 'null'
format: date
description: The next date that the payment is scheduled
end_date:
type:
- string
- 'null'
format: date
description: The last date that the payment is scheduled. Can be up to five years in the future
amount:
type:
- number
- 'null'
format: float
description: Amount of the bill payment
required:
- biller_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.421,\n \"response_data\": {},\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"503e0841-2ae3-4174-86d9-45646894f859\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 16:07:44\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.411\n \n \n \n \n 8b8b1fd9-fe3c-45c4-9d6a-979aa2cd30a2\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 16:08:23\n"
description: ''
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
billerId:
type: integer
format: int32
description: 'Identifier for the biller (`biller_id`) as returned by the Add Paper Biller or Get Billers endpoint.
Pattern: Integer
Example: `2982`'
example: 2982
frequencyType:
type:
- string
- 'null'
enum:
- O
- W
- M
- Q
- Y
description: 'Frequency of the bill payment:
* `O` — One time
* `W` — Weekly
* `M` — Monthly
* `Q` — Quarterly
* `Y` — Yearly
If this value is not `O` then `nextDate` and `endDate` are **required**.
Pattern: One letter
Example: `"W"`'
example: W
nextDate:
type:
- string
- 'null'
format: date-time
description: 'The next date that the payment is scheduled.
Pattern: YYYY-MM-DD
Example: `"2015-02-04"`'
example: '2015-02-04'
endDate:
type:
- string
- 'null'
format: date-time
description: 'The last date that the payment is scheduled. Can be up to five years in the future, so if today is 20 Jan 2020, this parameter can be no later than 20 Jan 2025. However, if today''s date is a leap day, such as 29 Feb 2020, the latest date can be 1 Mar 2025.
Pattern: YYYY-MM-DD
Example: `"2015-02-04"`'
example: '2015-02-04'
amount:
type:
- number
- 'null'
format: float
minimum: 0.01
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.5
billerAddress1:
type:
- string
- 'null'
minLength: 0
maxLength: 80
description: 'First line of the biller address.
Pattern: Max 80 alphanumeric characters
Example: `"33 Maple Street"`'
example: 33 Maple Street
billerAddress2:
type:
- string
- 'null'
minLength: 0
maxLength: 80
description: 'Second line of biller address.
Pattern: Max 30 alphanumeric characters
Example: `"#4B"`'
example: '#4B'
billerCity:
type:
- string
- 'null'
minLength: 1
maxLength: 60
description: 'Biller city.
Pattern: Max 30 letters and spaces
Example: `"Salt Lake City"`'
example: Salt Lake City
billerState:
type:
- string
- 'null'
enum:
- AL
- AK
- AZ
- AR
- CA
- CO
- CT
- DE
- DC
- FL
- GA
- HI
- ID
- IL
- IN
- IA
- KS
- KY
- LA
- ME
- MD
- MA
- MI
- MN
- MS
- MO
- MT
- NE
- NV
- NH
- NJ
- NM
- NY
- NC
- ND
- OH
- OK
- OR
- PA
- RI
- SC
- SD
- TN
- TX
- UT
- VT
- VA
- WA
- WV
- WI
- WY
- AE
- AP
- AS
- GU
- MP
- PR
- VI
- AB
- BC
- MB
- NB
- NL
- NT
- NS
- NU
- 'ON'
- PE
- QC
- SK
- YT
minLength: 2
maxLength: 2
description: 'Biller state or province.
Pattern: 2-character state or provincial abbreviation
Example: `"UT"`'
example: UT
billerZip:
type:
- string
- 'null'
minLength: 5
maxLength: 10
pattern: ^[a-zA-Z0-9\-\ ]*$
description: 'Biller postal code.
Pattern: `12345`, `12345-1234`, or `K1A-1A1`
Example: `"84121"`'
example: '84121'
billerPhone:
type:
- string
- 'null'
description: 'Biller phone number or "null".
Pattern: Exactly 10 digits, no hyphens or other characters or "null"
Example: `"8013656060"`'
example: '8013656060'
required:
- accountNo
- billerId
- transactionId
- apiLogin
- apiTransKey
- providerId
operationId: post_modifypaperbiller
/addRppsBiller:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
parameters: []
tags:
- Transactions
summary: Add RPPS Biller
description: 'Use the Add RPPS Biller endpoint to create an > biller for a customer and to schedule bill payments. Before calling this endpoint, use the Search Biller Directory endpoint to find the biller and obtain the `rpps_biller_id`.
The account must be active (`status: N`) to use this endpoint. See Creating a Billpay Transaction for further 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. It can be empty but usually will contain information.
type:
- object
- 'null'
properties:
biller_id:
type: string
description: Positive integer value used to identify the biller
name:
type: string
description: The RPPS biller name
required:
- biller_id
- name
required:
- echo
- processing_time
- response_data
- rtoken
- status
- status_code
- system_timestamp
examples:
response:
value: "{\n \"response\": {\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.067,\n \"response_data\": {\n \"biller_id\": 9817,\n \"name\": \"Comcast - Lompoc 2\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": \"\",\n \"transaction_id\": \"YLA44GUKZV4Y1WOKDSPY\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 12:34:49\"\n }\n }"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.067\n \n 9817\n Comcast - Lompoc 2\n \n \n \n \n YLA44GUKZV4Y1WOKDSPY\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:34:49\n"
description: ''
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
rppsBillerId:
type: string
pattern: ^[0-9]{10}$
description: 'The `rpps_biller_id` as returned by Search Biller Directory. This value must be zero-padded on the left to be 10 digits, so you would pass `rpps_biller_id: 1234` as `rppsBillerId: 0000001234`.
Pattern: Exactly 10 digits
Example: `"0000001234"`'
example: '0000001234'
billerAccountNo:
type: string
minLength: 1
maxLength: 30
pattern: ^[A-Za-z0-9\|_\. '`\?,!@$%#\"\/\-=]{1,30}$
description: 'The account number that the account holder has with the biller. When applicable, the account number is validated against the `biller_account_no_patterns` that were returned by Search Biller Directory. You cannot edit this value with Modify RPPS Biller. If the account holder submits an incorrect value, you must remove the biller and create the biller again with the correct account number.
Pattern: Alphanumeric string including hyphens and spaces.
Example: `"3333223323455555"`'
example: '3333223323455555'
frequencyType:
type:
- string
- 'null'
enum:
- O
- W
- M
- Q
- Y
description: 'Frequency of the bill payment:
* `O` — One time
* `W` — Weekly
* `M` — Monthly
* `Q` — Quarterly
* `Y` — Yearly
If this value is not `O` then `nextDate` and `endDate` are **required**.
Pattern: One letter
Example: `"W"`'
example: W
nextDate:
type:
- string
- 'null'
format: date-time
description: 'The next date that the payment is scheduled.
Pattern: YYYY-MM-DD
Example: `"2015-02-04"`'
example: '2015-02-04'
endDate:
type:
- string
- 'null'
format: date-time
description: 'The last date that the payment is scheduled. Can be up to five years in the future, so if today is 20 Jan 2020, this parameter can be no later than 20 Jan 2025. However, if today''s date is a leap day, such as 29 Feb 2020, the latest date can be 1 Mar 2025.
Pattern: YYYY-MM-DD
Example: `"2015-02-04"`'
example: '2015-02-04'
amount:
type:
- number
- 'null'
format: float
minimum: 0.01
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.5
required:
- accountNo
- billerAccountNo
- rppsBillerId
- transactionId
- apiLogin
- apiTransKey
- providerId
operationId: post_addrppsbiller
/cancelBillPayment:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
parameters: []
tags:
- Transactions
summary: Cancel Bill Payment
description: 'Use the Cancel Bill Payment endpoint to cancel the following types of billpay transactions:
* Paper transactions in status `N`, `W` or `P`.
* Electronic (RPPS) transactions in status `N`
* Non-recurring paper or electronic transactions that are scheduled for a future date
If the transaction is in another status, the endpoint returns `status_code: 435-02`See Managing Billpay Transactions 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. It can be empty but usually will contain information.
type:
- object
- 'null'
properties:
billpay_transaction_id:
type: string
description: An ID assigned to a bill payment transaction
old_balance:
type: number
format: float
description: The balance of the account before the payment is canceled
new_balance:
type: number
format: float
description: The balance of the account after the payment is canceled
required:
- billpay_transaction_id
- new_balance
- old_balance
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.395,\n \"response_data\": {\n \"billpay_transaction_id\": \"618663\",\n \"old_balance\": 19990,\n \"new_balance\": 20000\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"0e914c39-4bed-4aae-941a-2d85f3e6f7b1\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 13:39:13\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.035\n \n 618663\n 19990\n 20000\n \n \n \n \n 15bac7c1-1131-4426-be58-4ee34fbb9c34\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 13:39:14\n"
description: ''
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
billpayTransactionId:
type: integer
format: int32
minimum: 0
maximum: 1000000000000000000
description: 'The billpay transaction ID (`billpay_transaction_id`) as returned by the Create Bill Payment or Get Bill Payment History endpoint.
Pattern: Positive integer
Example: `3433443`'
example: 3433443
required:
- accountNo
- billpayTransactionId
- transactionId
- apiLogin
- apiTransKey
- providerId
operationId: post_cancelbillpayment
/createBillPayment:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
parameters: []
tags:
- Transactions
summary: Create Bill Payment
description: 'Use the Create Bill Payment endpoint to create a bill payment transaction. Before you can use this endpoint, you must create the biller.
The account must be active (`status: N`) to use this endpoint. See Creating a Billpay Transaction for further 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. It can be empty but usually will contain information.
type:
- object
- 'null'
properties:
billpay_transaction_id:
type: string
description: An ID assigned to a bill payment transaction
old_balance:
type: number
format: float
description: The balance of the account before the payment is processed
new_balance:
type: number
format: float
description: The balance on the account after the payment is processed
process_date:
type: string
format: date
description: The date the payment was processed
fee_amount:
type: number
format: float
description: The fee amount assessed for this bill payment record
maximum_amount:
type:
- number
- 'null'
format: float
description: A dollar limit on each bill-pay transaction
required:
- billpay_transaction_id
- fee_amount
- maximum_amount
- new_balance
- old_balance
- process_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.93,\n \"response_data\": {\n \"billpay_transaction_id\": \"618664\",\n \"old_balance\": 20000,\n \"new_balance\": 19950,\n \"process_date\": \"2025-07-15\",\n \"fee_amount\": \"2.5\",\n \"maximum_amount\": 250\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"50c5ebad-2806-4518-ac93-b91ccca148c3\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 13:43:28\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.082\n \n 618666\n 20000\n 19950\n 2025-07-15\n 2.5\n 250\n \n \n \n \n 6ae347b5-bec9-4249-9e63-af8aad5c544a\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 13:43:29\n"
description: ''
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
amount:
type: number
format: float
minimum: 0.01
description: 'Currency amount as a whole or decimal amount.
Pattern: Positive integer or decimal number
Example: `100.00`, `100`, or `100.73`'
example: 25.5
billerId:
type: integer
format: int32
minimum: 1
description: 'Identifier for the biller (`biller_id`) as returned by the Add RPPS Biller, Add Paper Biller or Get Billers endpoint.
Pattern: Positive integer
Example: `37323`'
example: 37323
processDate:
type:
- string
- 'null'
format: date
description: 'Date in the future to process the payment. Leave blank to process the payment immediately.
Pattern: YYYY-MM-DD
Example: `2025-01-01`'
example: '2025-01-01'
memo:
type:
- string
- 'null'
minLength: 1
maxLength: 50
pattern: ^[A-Za-z0-9|_. '?,!@$%#"-=~]
description: 'String to print in the memo field of printed paper checks.
Pattern: Max 50 alphanumeric characters including punctuation
Example: `For babysitting`'
example: For babysitting
required:
- accountNo
- amount
- billerId
- transactionId
- apiLogin
- apiTransKey
- providerId
operationId: post_createbillpayment
/getBillers:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
parameters: []
tags:
- Transactions
summary: Get Billers
description: 'Use the Get Billers endpoint to retrieve the billers for the specified customer account.
See Creating a Billpay Transaction for instructions on using this endpoint.
See Record-Set Pagination for instructions on using the paging parameters.'
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:
billers:
type: array
description: List of billers
items:
type: object
properties:
account_number:
type: string
description: The account number of the biller entity
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
biller_id:
type: string
description: An ID assigned to the biller
city:
type:
- string
- 'null'
description: City for address information
name:
type:
- string
- 'null'
description: A name used to identify a biller entity
nickname:
type:
- string
- 'null'
description: A substring of the biller `name`.
phone:
type:
- string
- 'null'
description: The main phone number on the biller account
postal_code:
type:
- string
- 'null'
description: A postal code for the address information
state_province:
type:
- string
- 'null'
description: State for address information
type:
type: string
description: 'The type of biller: `P` (paper) or `E` (electronic, RPPS)'
frequency_type:
type:
- string
- 'null'
description: Frequency of the bill payment
next_date:
type:
- string
- 'null'
format: date
description: The next date that the payment is scheduled
end_date:
type:
- string
- 'null'
format: date
description: The last date that the payment is scheduled. Can be up to five years in the future
amount:
type:
- number
- 'null'
format: float
description: Currency amount as a whole or decimal amount
required:
- account_number
- biller_id
- name
- type
found:
type: integer
format: int32
description: The total number of billers found
page:
type: integer
format: int32
description: The page number to be retrieved in the context of recordset paging
total_record_count:
type: integer
format: int32
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
required:
- billers
- found
- 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.066,\n \"response_data\": {\n \"billers\": [\n {\n \"account_number\": \"ev2222222\",\n \"address_1\": \"PO Box 1357\",\n \"address_2\": null,\n \"biller_id\": \"393\",\n \"city\": \"East Bend\",\n \"name\": \"Eastern Utilities\",\n \"nickname\": \"Eastern Utilities\",\n \"phone\": \"8015551212\",\n \"postal_code\": \"84120\",\n \"state_province\": \"UT\",\n \"type\": \"P\"\n }\n ],\n \"found\": 4,\n \"number_of_pages\": 4,\n \"page\": 1,\n \"total_record_count\": 4\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"d09aaa50-caa5-455f-9d0e-b54372164311\"\n },\n \"system_timestamp\": \"2023-07-31 16:26:30\",\n \"rtoken\": \"8fab0829-9e0f-42c7-ad07-e3a1c04a14ba\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.066\n \n \n ev2222222\n PO Box 1357\n \n 393\n East Bend\n Eastern Utilities\n Eastern Utilities\n 8015551212\n 84120\n UT\n P\n \n 4\n 4\n 1\n 4\n \n \n \n \n d09aaa50-caa5-455f-9d0e-b54372164311\n \n 2023-07-31 16:26:30\n 8fab0829-9e0f-42c7-ad07-e3a1c04a14ba\n"
description: ''
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
recordCnt:
type:
- integer
- 'null'
format: int32
minimum: 1
maximum: 99999
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
description: 'The number of the page to retrieve.
Pattern: Integer value of `1` or greater
Example: `3`'
example: 3
required:
- accountNo
- transactionId
- apiLogin
- apiTransKey
- providerId
operationId: post_getbillers
/removeBiller:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
parameters: []
tags:
- Transactions
summary: Remove Biller
description: 'Use the Remove Biller endpoint to delete an > or paper biller. When you delete a biller, the future scheduled transactions for that biller are not deleted.
See Managing Billpay Transactions 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.053,\n \"response_data\": {},\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"MOTDDXTMSM49F8ZX58CU\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:41:23\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.00714\n \n \n \n \n C273MCSXWDD65ZXCCX5A\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:34:53\n"
description: ''
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
billerId:
type: integer
format: int32
description: 'Identifier for the biller (`biller_id`) as returned by the Add RPPS Biller, Add Paper Biller or Get Billers endpoint.
Pattern: Integer
Example: `2982`'
example: 37323
required:
- accountNo
- billerId
- transactionId
- apiLogin
- apiTransKey
- providerId
operationId: post_removebiller
/getBillPayHistory:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
parameters: []
tags:
- Transactions
summary: Get Bill Payment History
description: 'Use the Get Bill Payment History endpoint to retrieve bill payment transactions between the specified dates, including scheduled transactions. You can get the history for the specified account or for all related accounts.
See Managing Billpay Transactions 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. It can be empty but usually will contain information.
type:
- object
- 'null'
properties:
found:
type: integer
format: int32
description: The total number of bill payments found
bill_payments:
type: array
description: List of bill payment objects
items:
type: object
properties:
pmt_ref_no:
type: string
description: A system-generated account number
billpay_transaction_id:
type: string
description: An ID assigned to a bill payment transaction
amount:
type: string
description: The amount of the bill payment
process_date:
type:
- string
- 'null'
format: date-time
description: The date the payment was processed
biller_id:
type: string
description: Positive integer value of a customer configured biller
name:
type:
- string
- 'null'
description: The name of the biller
nickname:
type:
- string
- 'null'
description: A nickname used to identify a biller entity
status:
type: string
description: The status of the payment. See Bill Payment Statuses.
type:
type: string
description: '`P` for paper or `E` for electronic'
external_trans_id:
type:
- string
- 'null'
description: The `transactionId` from the Create Bill Payment call that created the transaction.
printed_date:
type:
- string
- 'null'
format: date-time
description: The date the paper check was mailed or the electronic bill payment was sent to Mastercard.
cleared_date:
type:
- string
- 'null'
format: date-time
description: The date the paper check cleared the bank.
required:
- amount
- biller_id
- billpay_transaction_id
- cleared_date
- external_trans_id
- name
- nickname
- pmt_ref_no
- printed_date
- process_date
- status
- type
required:
- bill_payments
- found
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.406,\n \"response_data\": {\n \"found\": 3,\n \"bill_payments\": [\n {\n \"pmt_ref_no\": \"005461527202\",\n \"billpay_transaction_id\": \"618685\",\n \"amount\": \"10\",\n \"process_date\": \"2025-07-15 14:20:11\",\n \"biller_id\": \"248806\",\n \"name\": \"965199ce-83da-487b-a723-75a9a1137aec\",\n \"nickname\": \"965199ce-83da-487b-a723-75a9a1137aec\",\n \"status\": \"N\",\n \"type\": \"P\",\n \"external_trans_id\": null,\n \"printed_date\": null,\n \"cleared_date\": null\n },\n {\n \"pmt_ref_no\": \"005461527202\",\n \"billpay_transaction_id\": \"618684\",\n \"amount\": \"10\",\n \"process_date\": \"2025-07-15 14:20:11\",\n \"biller_id\": \"248804\",\n \"name\": \"51aa2af9-3d33-4238-8fca-06c2d4d7afa4\",\n \"nickname\": \"51aa2af9-3d33-4238-8fca-06c2d4d7afa4\",\n \"status\": \"N\",\n \"type\": \"E\",\n \"external_trans_id\": null,\n \"printed_date\": null,\n \"cleared_date\": null\n },\n {\n \"pmt_ref_no\": \"005461527202\",\n \"billpay_transaction_id\": \"618683\",\n \"amount\": \"10\",\n \"process_date\": \"2025-07-15 14:20:11\",\n \"biller_id\": \"248802\",\n \"name\": \"6e9b3bf8-e130-4849-b2a1-548a38a93099\",\n \"nickname\": \"6e9b3bf8-e130-4849-b2a1-548a38a93099\",\n \"status\": \"N\",\n \"type\": \"E\",\n \"external_trans_id\": null,\n \"printed_date\": null,\n \"cleared_date\": null\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"598adc67-9fe8-4f6a-bb60-8a11c3d9a4a6\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 14:20:12\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.022\n \n 3\n \n \n 005461527202\n 618685\n 10\n 2025-07-15 14:20:11\n 248806\n 965199ce-83da-487b-a723-75a9a1137aec\n 965199ce-83da-487b-a723-75a9a1137aec\n N\n P\n \n \n \n \n \n 005461527202\n 618684\n 10\n 2025-07-15 14:20:11\n 248804\n 51aa2af9-3d33-4238-8fca-06c2d4d7afa4\n 51aa2af9-3d33-4238-8fca-06c2d4d7afa4\n N\n E\n \n \n \n \n \n 005461527202\n 618683\n 10\n 2025-07-15 14:20:11\n 248802\n 6e9b3bf8-e130-4849-b2a1-548a38a93099\n 6e9b3bf8-e130-4849-b2a1-548a38a93099\n N\n E\n \n \n \n \n \n \n \n \n \n d896d23f-5d8e-452e-a537-e6b2d621d0ca\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 14:20:13\n"
description: ''
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
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`. Max 1098 days (~3 years) after `startDate`. \nPattern: YYYY-MM-DD or YYYY-MM-DD hh:mm:ss\nExample: `\"2016-01-01\"`"
example: '2016-01-01'
includeRelated:
type:
- integer
- 'null'
format: int32
default: 0
enum:
- 0
- 1
description: 'Whether to return transactions for all accounts from the same account holder (`client_id`).
- `0` or _blank_ — Retrieve only the transactions for the specified account.
- `1` — Retrieve all transactions from the same account holder.
Pattern: Integer
Example: `1`'
example: 1
recordCnt:
type:
- integer
- 'null'
format: int32
default: 400
minimum: 1
maximum: 99999
description: 'The maximum number of records to be returned in the method response.
Pattern: Positive integer value in the range of 1 and 99999.
Example: `100`'
example: 100
required:
- accountNo
- endDate
- startDate
- transactionId
- apiLogin
- apiTransKey
- providerId
operationId: post_getbillpayhistory
/modifyRppsBiller:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
parameters: []
tags:
- Transactions
summary: Modify RPPS Biller
description: 'Use the Modify RPPS Biller endpoint to update an > biller. All non-required fields are nullifiable. To cancel a scheduled series, either set `endDate` to the current date or pass `Null` for `frequencyType`, `nextDate` and `endDate`. The account must be active (`status: N`) to use 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.418,\n \"response_data\": {},\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"15455f7a-724e-4827-bd5c-0ede181a0dd4\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 16:09:19\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.406\n \n \n \n \n dff977be-6fbc-450c-b8ae-ca07a678820c\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 16:09:53\n"
description: ''
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
billerId:
type: integer
format: int32
description: 'Identifier for the biller (`biller_id`) as returned by the Add RPPS Biller or Get Billers endpoint. Do not use the `rpps_biller_id` from Search Biller Directory.
Pattern: Integer
Example: `2982`'
example: 2982
frequencyType:
type:
- string
- 'null'
enum:
- O
- W
- M
- Q
- Y
description: 'Frequency of the bill payment:
* `O` — One time
* `W` — Weekly
* `M` — Monthly
* `Q` — Quarterly
* `Y` — Yearly
If this value is not `O` then `nextDate` and `endDate` are **required**.
Pattern: One letter
Example: `"W"`'
example: W
nextDate:
type:
- string
- 'null'
format: date-time
description: 'The next date that the payment is scheduled.
Pattern: YYYY-MM-DD
Example: `"2015-02-04"`'
example: '2015-02-04'
endDate:
type:
- string
- 'null'
format: date-time
description: 'The last date that the payment is scheduled. Can be up to five years in the future, so if today is 20 Jan 2020, this parameter can be no later than 20 Jan 2025. However, if today''s date is a leap day, such as 29 Feb 2020, the latest date can be 1 Mar 2025.
Pattern: YYYY-MM-DD
Example: `"2015-02-04"`'
example: '2015-02-04'
amount:
type:
- number
- 'null'
format: float
minimum: 0.01
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.5
required:
- accountNo
- billerId
- frequencyType
- transactionId
- apiLogin
- apiTransKey
- providerId
operationId: post_modifyrppsbiller
/createAccountTransfer:
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:
old_balance:
type: number
format: float
description: The old balance on the source account
new_balance:
type: number
format: float
description: The new balance on the source account
adjustment_trans_id:
type: number
description: The transaction ID for the debit
transfer_account_id:
type: string
description: The recipient account of the transfer
sender_fee_amount:
type: number
format: float
description: The C2C fee applied to the transfer, if any
payment_trans_id:
type: number
description: The transaction ID for the credit
transfer_to_account:
type: object
properties:
old_balance:
type: number
format: float
description: The old balance on the recipient account
new_balance:
type: number
format: float
description: The new balance on the recipient account
required:
- new_balance
- old_balance
required:
- adjustment_trans_id
- new_balance
- old_balance
- payment_trans_id
- sender_fee_amount
- transfer_account_id
- transfer_to_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.527,\n \"response_data\": {\n \"old_balance\": 10,\n \"new_balance\": 8.75,\n \"adjustment_trans_id\": 57906,\n \"transfer_account_id\": 0,\n \"sender_fee_amount\": 0,\n \"payment_trans_id\": 4161926,\n \"transfer_to_account\": {\n \"old_balance\": 1193.45,\n \"new_balance\": 1194.7\n }\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"JJ04THYA130791J8KS3R\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:47:17\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.505\n \n 95.05\n 93.8\n 57931\n 0\n 0\n 4162164\n \n 1209.95\n 1211.2\n \n \n \n \n \n UBT3LMWWF5QBQ10RZQA9\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:42:12\n"
description: ''
parameters: []
summary: Create Account Transfer
description: 'Use the Create Account Transfer endpoint to move funds between accounts in the same program. You can combine a fee with the payment or adjustment, depending on what transaction types you have set up with SoFi Tech Solutions. The accounts can belong to the same customer or different customers. If the accounts are in different programs, verify that the program parameters permit transferring funds between the programs.
Pass the sending account in the `accountNo` parameter and the receiving account in the `transferToAccountNo` parameter. The receiving account should be in `status: N` (active) and the active flag set to `Y`.
To permit this endpoint to drive the sending account negative, set the ALWNB parameter on the sending product.
Consult the Creating an Internal Transfer guide for instructions on using this endpoint.'
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 sending account.
Pattern: PAN or PRN
Example: `"074103447228"`'
example: 074103447228
amount:
type: number
format: float
minimum: 0.01
description: "Currency amount as a whole or decimal amount. \nPattern: Positive integer or decimal number\nExample: `100.00`, `100`, or `100.73`"
example: 25.5
transferToAccountNo:
type: string
pattern: ^[0-9]{12}$|^[0-9]{16}$
description: 'The <> or <> of the receiving account.
Pattern: PAN or PRN
Example: `"074103447228"`'
example: 074103447228
message:
type:
- string
- 'null'
minLength: 1
maxLength: 2000
description: 'A message for the transfer recipient. The C2DSC provider parameter must be set to `1` to populate this parameter. If you do not populate this parameter, it defaults to the value in the BMNAM product parameter. The system truncates this field to 80 characters.
Pattern: Max 2000 Windows-1252 characters
Example: `"Thanks again for lunch!"`'
example: Thanks again for lunch!
senderMessage:
type:
- string
- 'null'
minLength: 1
maxLength: 80
description: "A message for the transfer sender. The C2DSC provider parameter must be set to populate this parameter. If you do not populate this parameter, it defaults to the value in `message`. \nPattern: Max 80 Windows-1252 characters\nExample: `\"Thanks again for lunch!\"`"
example: Thanks again for lunch!
type:
type:
- string
- 'null'
pattern: ^([a-zA-Z0-9]){3}$
description: 'Transaction type for the transfer. Use the values provided by SoFi Tech Solutions for your program.
Pattern: Max 3 alphanumeric characters, case-sensitive
Example: `"MRM"`'
example: MRM
required:
- accountNo
- amount
- transactionId
- transferToAccountNo
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
operationId: post_createaccounttransfer
/getDepositHistory:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
responses:
default:
description: ''
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:
deposit_count:
type: integer
format: int32
description: The number of deposits in the response
page:
type: integer
format: int32
description: The page number to be retrieved in the context of recordset paging
total_record_count:
type: integer
format: int32
description: Total number of deposit records returned
number_of_pages:
type: integer
format: int32
description: Total number of pages
start_date:
type: string
format: date
description: The start date for deposit records
end_date:
type: string
format: date
description: The end date for deposit records
deposits:
type: array
items:
type: object
properties:
amt:
type:
- string
- 'null'
description: The amount of the deposit
in_ts:
type: string
format: date-time
description: Timestamp for the initial creation of the record
effective_dt:
type:
- string
- 'null'
format: date-time
description: Date when the ACH payment posts
name:
type:
- string
- 'null'
description: The name of the account receiving the deposit
efname:
type:
- string
- 'null'
description: Encrypted cardholder first name
elname:
type:
- string
- 'null'
description: Encrypted cardholder last name
xid:
type:
- string
- 'null'
description: An account ID that can be used instead of the PAN
prog_id:
type:
- string
- 'null'
description: Identifier for the program associated with the account
batch_hdr:
type:
- string
- 'null'
description: A record of a batch of transactions
company_entry_description:
type:
- string
- 'null'
description: Value of Company Entry Description from the Company/Batch Header Record in ach file
company_identification:
type:
- string
- 'null'
description: Value of Company Identification from the Company/Batch Header Record in ach file
dest_acct_no:
type:
- string
- 'null'
description: The destination account for a pending deposit
source_inst_id:
type:
- string
- 'null'
description: An ID (usually a bank routing number) for the institution that originated the deposit
source_inst_name:
type:
- string
- 'null'
description: The name of the institution that originated the deposit
source_acct_no:
type:
- string
- 'null'
description: An account number of the institution that originated the deposit
status:
type:
- string
- 'null'
description: The status of the deposit. See Deposit Status Codes.
trans_type:
type:
- string
- 'null'
description: Transaction type
addenda_rec:
type:
- string
- 'null'
description: Supplemental information to identify a deposit
ach_trans_id:
type: string
description: A unique ID for an ACH transaction
pmt_ref_no:
type:
- string
- 'null'
description: Payment reference number.
ach_category:
type:
- string
- 'null'
description: Transaction ACH category
ach_subcategory:
type:
- string
- 'null'
description: Transaction ACH subcategory
trans_ts:
type:
- string
- 'null'
format: date-time
description: Original settlement date
actual_settl_dt:
type:
- string
- 'null'
format: date-time
description: Actual settlement date
ach_early_days_used:
type:
- number
- 'null'
description: Number of Early Days Used
categories:
type: array
items:
description: Category information for an ACH request to move funds into or out of the customer's account
type: object
properties:
ach_source_id:
type:
- string
- 'null'
description: An identifier for the <>
category_code:
type: string
description: Category code for the deposit. See Deposit Category Codes for valid values.
description:
type: string
description: Description of the record
last_updated:
type: string
description: Indicates when the `source_status` was last updated
last_updated_by:
type:
- string
- 'null'
description: Indicates who last updated the `source_status`
source_status:
type: string
description: The source status for the ACH request. Possible values are `APPROVE`, `WATCH`, or `DECLINE`
status:
type:
- string
- 'null'
description: The deposit status. See Deposit Status Codes for possible values.
required:
- ach_source_id
- category_code
- description
required:
- ach_trans_id
- amt
- effective_dt
- in_ts
- name
- prog_id
- source_inst_id
- source_inst_name
- status
- trans_type
required:
- deposit_count
- deposits
- end_date
- number_of_pages
- page
- start_date
- 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.478,\n \"response_data\": {\n \"deposit_count\": 1,\n \"page\": 1,\n \"total_record_count\": 1,\n \"number_of_pages\": 1,\n \"start_date\": \"2025-07-10\",\n \"end_date\": \"2025-07-15\",\n \"deposits\": [\n {\n \"amt\": \"100\",\n \"in_ts\": \"2025-07-15 14:27:05\",\n \"effective_dt\": \"2025-07-15 14:27:05\",\n \"name\": null,\n \"xid\": \"5461535\",\n \"prog_id\": \"615\",\n \"batch_hdr\": null,\n \"dest_acct_no\": \"005461535202\",\n \"source_inst_id\": null,\n \"source_inst_name\": null,\n \"status\": \"U\",\n \"trans_type\": \"DD\",\n \"addenda_rec\": \"705 Bellco00013751545\",\n \"ach_trans_id\": \"75001795\",\n \"efname\": \"MDAxNiW00jbNDJzkMnIgw5F66EIK\",\n \"elname\": \"MDAxNgYDOoHXPekcFNW6fCKnJUkK\",\n \"pmt_ref_no\": \"005461535202\"\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"2e8a85fa-b062-4bd9-a658-0670bfe5e395\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 14:27:07\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.034\n \n 1\n 1\n 1\n 1\n 2025-07-10\n 2025-07-15\n \n \n 100\n 2025-07-15 14:27:05\n 2025-07-15 14:27:05\n \n 5461535\n 615\n \n 005461535202\n \n \n U\n DD\n 705 Bellco00013751545\n 75001795\n MDAxNiW00jbNDJzkMnIgw5F66EIK\n MDAxNgYDOoHXPekcFNW6fCKnJUkK\n 005461535202\n \n \n \n \n \n \n 40160d62-4ee0-4488-ba7d-500636c123f2\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 14:27:08\n"
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.\nPattern: PAN or PRN \nExample: `\"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`. Max 1098 days (~3 years) after `startDate`. \nPattern: YYYY-MM-DD or YYYY-MM-DD hh:mm:ss\nExample: `\"2016-01-01\"`"
example: '2016-01-01'
recordCnt:
type:
- integer
- 'null'
format: int32
minimum: 1
maximum: 99999
description: 'The maximum number of records per page to be returned.
Pattern: Integer
Example: `100`'
example: 100
page:
type: integer
format: int32
default: 1
description: 'The number of the page to retrieve.
Pattern: Integer value of `1` or greater
Example: `3`'
example: 3
required:
- endDate
- startDate
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
summary: Get Deposit History
parameters: []
description: 'Use the Get Deposit History endpoint to retrieve deposit history for either your entire program or for a specified customer. Omit the `accountNo` parameter to get the history for your entire program.
See Record-Set Pagination for instructions on using the paging parameters.'
operationId: post_getdeposithistory
/getAllTransHistory:
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:
transaction_count:
type: integer
format: int32
description: The number of transactions listed in the response
page:
type: integer
format: int32
description: The page number to be retrieved for record-set paging
total_record_count:
type: integer
format: int32
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
start_date:
type: string
format: date-time
description: Start date of the transactions
end_date:
type: string
format: date-time
description: End date of the transactions
sums:
description: sums
type: object
properties:
unsettled:
type: number
format: float
description: The sum of transactions that have not been settled
settled:
type: number
format: float
description: The sum of authorizations that have been settled
adjustment:
type: number
format: float
description: 'The sum of adjustments (`act_type: AD`)'
fee:
type: number
format: float
description: 'The sum of charges for a service (`act_type: FE`)'
payment:
type: number
format: float
description: 'The sum of payments (`act_type: PM`)'
required:
- adjustment
- fee
- payment
- settled
- unsettled
transactions:
type: array
description: List of transactions
items:
type: object
properties:
act_id:
type:
- string
- 'null'
description: Transaction activity identifier used in the SoFi Tech Solutions system. This value is returned only because it is used to sort the transactions.
is_savings:
type: boolean
description: Specifies whether the transaction is made on a savings account.
deny_code:
type:
- string
- 'null'
description: Two-digit code when an authorization request is denied.
disputable:
type: boolean
description: Specifies whether the transaction can be disputed.
details:
type: string
description: Description provided by the merchant about the transaction (DE043).
act_type:
type: string
description: Activity type. See the Activity Type enumeration.
act_type_description:
type: string
description: Description of `act_type`. See the Activity Type enumeration.
latest_incremental_id:
type:
- string
- 'null'
description: The `auth_id` of the previous authorization in an incremental sequence, if any. This field contains the same information as `original_auth_id` and is present only by request.
original_incremental_id:
type:
- string
- 'null'
description: The `auth_id` of the first authorization in an incremental sequence, if any. This field is present only by request.
post_ts:
type: string
format: date-time
description: The date and time when a transaction was posted to the account ledger, in system time.
amt:
type: number
format: float
description: The transaction amount in the currency of the account. A negative amount debits funds from the account.
source_id:
type:
- string
- 'null'
description: A system-generated integer that maps back to the original transaction, such as `auth_id`, `pmt_id`, or `adj_id`.
type:
type: string
description: 'The otype of the transaction. When the otype is a numeral and `act_type: SE`, the numeral is returned as a string. Other numerals are returned as integers with no leading zeros. Refer to transaction types for card-transaction values; for other transaction types, consult the otype list that SoFi Tech Solutions gave you.'
type_description:
type:
- string
- 'null'
description: The description of the transaction type.
trans_code:
type: string
description: A concatenation of the activity type (`act_type`) and transaction type (`type`).
arn:
type:
- string
- 'null'
description: Acquirer reference number. An identifier for the acquiring processor.
merchant_id:
type:
- string
- 'null'
description: Network-assigned identifier for a merchant (DE042).
external_trans_id:
type:
- string
- 'null'
description: A user-supplied identifier for a transaction, if any.
calculated_balance:
type: number
format: float
description: '**[DEPRECATED]** This field is deprecated and may be removed in future versions. It currently contains the same value as `rolling_balance`. '
rolling_balance:
type:
- number
- 'null'
format: float
description: Available balance immediately after this transaction posts. If SoFi Tech Solutions is not the system of record, this value may not be accurate. For a new account with no transactions, this value is `null`.
ach_trans_id:
type:
- string
- 'null'
description: A unique identifier for the ACH transaction, if applicable.
auth_ts:
type:
- string
- 'null'
format: date-time
description: The system time when a transaction was authorized.
prior_id:
type:
- string
- 'null'
description: The `auth_id` of the previous transaction in the sequence, if any. Maps to `original_auth_id`.
card_id:
type:
- string
- 'null'
description: A system-generated identifier for a card, which can be used instead of the PAN. Maps to `cad`.
formatted_merchant_desc:
type:
- string
- 'null'
description: The same information as in the `details` field, with formatting.
network_code:
type:
- string
- 'null'
description: A system-generated code to identify the subnetwork over which the transaction took place. Maps to `network_id`.
auth_id:
type:
- string
- 'null'
description: A system-generated identifier for an authorization and its settlement.
local_amt:
type:
- number
- 'null'
format: float
description: Amount of the authorization in the currency at the point of sale. Unsigned. This amount does not include upcharges or program fees. (DE004)
local_curr_code:
type:
- string
- 'null'
description: Currency code for `local_amt` (DE049).
settle_amt:
type:
- number
- 'null'
format: float
description: The transaction amount, in the settlement currency (DE005)
settle_curr_code:
type:
- string
- 'null'
description: Currency code for `settle_amt` (DE050).
billing_amt:
type:
- number
- 'null'
format: float
description: 'The transaction amount, in the currency of the cardholder account (DE006) '
billing_curr_code:
type:
- string
- 'null'
description: Currency code for `billing_amt` (DE051).
pmt_ref_no:
type:
- string
- 'null'
description: A system-generated number to identify the customer account. Maps to `PRN` and `prn`.
mcc_code:
type:
- string
- 'null'
description: Category code for the merchant that initiated the transaction (DE018).
credit_ind:
type:
- string
- 'null'
description: Indicates whether a PIN was input at the point of sale. `Y` = No PIN was input. `N` = A PIN was input. `None` = Not a card transaction, or not processed as a card transaction.
iac_tax:
type:
- number
- 'null'
format: float
description: Impuesto al consumo. Colombian consumption tax. Required for the Mastercard Interchange Intracountry Calculation Program.
iva_tax:
type:
- number
- 'null'
format: float
description: Impuesto al valor agregado. Colombian value-added tax. Required for the Mastercard Interchange Intracountry Calculation Program.
funding_account_prn:
type:
- string
- 'null'
description: The <> of the <> funding account
spending_account_prn:
type:
- string
- 'null'
description: The PRN of the RTF spending account
required:
- ach_trans_id
- act_type
- act_type_description
- amt
- arn
- auth_id
- auth_ts
- billing_amt
- billing_curr_code
- calculated_balance
- card_id
- credit_ind
- deny_code
- details
- disputable
- external_trans_id
- formatted_merchant_desc
- is_savings
- local_amt
- local_curr_code
- mcc_code
- merchant_id
- network_code
- pmt_ref_no
- post_ts
- prior_id
- settle_amt
- settle_curr_code
- source_id
- trans_code
- type
- type_description
beginning_balance:
type: number
format: float
description: 'The available balance as of the `start_date`. '
required:
- beginning_balance
- end_date
- number_of_pages
- page
- start_date
- sums
- total_record_count
- transaction_count
- transactions
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.577,\n \"response_data\": {\n \"transaction_count\": 15,\n \"page\": 1,\n \"total_record_count\": 15,\n \"number_of_pages\": 1,\n \"start_date\": \"2025-06-15 00:00:00\",\n \"end_date\": \"2025-07-16 23:59:59\",\n \"sums\": {\n \"unsettled\": 6.52,\n \"settled\": 23.55,\n \"adjustment\": 0,\n \"fee\": -1.57,\n \"payment\": 0\n },\n \"transactions\": [\n {\n \"is_savings\": true,\n \"deny_code\": null,\n \"disputable\": false,\n \"details\": \"Pending Payment\",\n \"act_type\": \"PE\",\n \"act_type_description\": \"Pending Payment\",\n \"post_ts\": \"2025-07-15 14:13:26\",\n \"amt\": 1,\n \"source_id\": \"7353070\",\n \"type\": \"VL\",\n \"type_description\": \"Visa Load\",\n \"trans_code\": \"PEVL\",\n \"arn\": \"\",\n \"merchant_id\": null,\n \"external_trans_id\": \"\",\n \"calculated_balance\": 30.11,\n \"ach_trans_id\": null,\n \"auth_ts\": null,\n \"prior_id\": \"0\",\n \"card_id\": \"N/A\",\n \"formatted_merchant_desc\": null,\n \"network_code\": null,\n \"auth_id\": null,\n \"local_amt\": null,\n \"local_curr_code\": null,\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"pmt_ref_no\": \"005461522202\",\n \"mcc_code\": null,\n \"iac_tax\": \"0\",\n \"iva_tax\": \"0\",\n \"rolling_balance\": 30.11\n },\n {\n \"is_savings\": true,\n \"deny_code\": null,\n \"disputable\": false,\n \"details\": \"visa test0\",\n \"act_type\": \"FE\",\n \"act_type_description\": \"Fee\",\n \"post_ts\": \"2025-07-15 14:13:25\",\n \"amt\": -1.57,\n \"source_id\": \"47033109\",\n \"type\": \"A\",\n \"type_description\": \"\",\n \"trans_code\": \"FE000A\",\n \"arn\": \"\",\n \"merchant_id\": null,\n \"external_trans_id\": \"X02U4F1IR42UCE8LDSLE4SRD03MGYOK34SLOJPK92WEJCIHDM9OMGUDEC8O8\",\n \"calculated_balance\": 30.11,\n \"ach_trans_id\": null,\n \"auth_ts\": \"2025-07-15 14:13:25\",\n \"prior_id\": \"0\",\n \"card_id\": \"14861193\",\n \"formatted_merchant_desc\": null,\n \"network_code\": \"V\",\n \"auth_id\": \"47033109\",\n \"local_amt\": 1.44,\n \"local_curr_code\": \"840\",\n \"settle_amt\": 1.29,\n \"settle_curr_code\": \"840\",\n \"billing_amt\": 1.29,\n \"billing_curr_code\": \"840\",\n \"pmt_ref_no\": \"005461522202\",\n \"mcc_code\": \"5733\",\n \"iac_tax\": \"0\",\n \"iva_tax\": \"0\",\n \"rolling_balance\": 30.11\n },\n {\n \"is_savings\": true,\n \"deny_code\": null,\n \"disputable\": false,\n \"details\": \"discover auth test0\",\n \"act_type\": \"DC\",\n \"act_type_description\": \"DC\",\n \"post_ts\": \"2025-07-15 14:13:25\",\n \"amt\": 1.61,\n \"source_id\": \"1\",\n \"type\": \"A\",\n \"type_description\": \"\",\n \"trans_code\": \"DCA\",\n \"arn\": \"\",\n \"merchant_id\": null,\n \"external_trans_id\": \"FRL96KQMED6PMC5X7IXYHXAF3EYKQII90B79JL78VWAPVDOEDX5MMOW8L63X\",\n \"calculated_balance\": 31.68,\n \"ach_trans_id\": null,\n \"auth_ts\": \"2025-07-15 14:13:25\",\n \"prior_id\": \"0\",\n \"card_id\": \"14861193\",\n \"formatted_merchant_desc\": null,\n \"network_code\": \"D\",\n \"auth_id\": \"1\",\n \"local_amt\": 1.44,\n \"local_curr_code\": \"840\",\n \"settle_amt\": 1.29,\n \"settle_curr_code\": \"840\",\n \"billing_amt\": 1.29,\n \"billing_curr_code\": \"840\",\n \"pmt_ref_no\": \"005461522202\",\n \"mcc_code\": \"6993\",\n \"iac_tax\": \"0\",\n \"iva_tax\": \"0\",\n \"rolling_balance\": 31.68\n },\n {\n \"is_savings\": true,\n \"deny_code\": \"57\",\n \"disputable\": false,\n \"details\": \"AIN\\\\BANK\\\\LOB SIOUX CITY IAUS
Deny Code: 57\",\n \"act_type\": \"DA\",\n \"act_type_description\": \"Denied Auth\",\n \"post_ts\": \"2025-07-15 14:13:25\",\n \"amt\": -1.57,\n \"source_id\": \"47033108\",\n \"type\": \"A\",\n \"type_description\": \"\",\n \"trans_code\": \"DAA\",\n \"arn\": \"\",\n \"merchant_id\": \"324234 \",\n \"external_trans_id\": \"\",\n \"calculated_balance\": 30.07,\n \"ach_trans_id\": null,\n \"auth_ts\": \"2025-07-15 14:13:25\",\n \"prior_id\": \"1234567890\",\n \"card_id\": \"14861193\",\n \"formatted_merchant_desc\": null,\n \"network_code\": \"I\",\n \"auth_id\": \"47033108\",\n \"local_amt\": 1.57,\n \"local_curr_code\": \"840\",\n \"settle_amt\": 32423.42,\n \"settle_curr_code\": \"841\",\n \"billing_amt\": 243423.42,\n \"billing_curr_code\": \"840\",\n \"pmt_ref_no\": \"005461522202\",\n \"mcc_code\": \"5733\",\n \"iac_tax\": \"0\",\n \"iva_tax\": \"0\",\n \"rolling_balance\": 30.07\n },\n {\n \"is_savings\": true,\n \"deny_code\": \"57\",\n \"disputable\": false,\n \"details\": \"12star - AIN\\\\BANK\\\\LOB SIOUX CITY IAUS\\\\Q
Deny Code: 57\",\n \"act_type\": \"DA\",\n \"act_type_description\": \"Denied Auth\",\n \"post_ts\": \"2025-07-15 14:12:25\",\n \"amt\": -3.18,\n \"source_id\": \"1\",\n \"type\": \"A\",\n \"type_description\": \"\",\n \"trans_code\": \"DAA\",\n \"arn\": \"\",\n \"merchant_id\": \"12star \",\n \"external_trans_id\": \"\",\n \"calculated_balance\": 30.07,\n \"ach_trans_id\": null,\n \"auth_ts\": \"2025-07-15 14:12:25\",\n \"prior_id\": null,\n \"card_id\": \"14861193\",\n \"formatted_merchant_desc\": null,\n \"network_code\": \"S\",\n \"auth_id\": \"1\",\n \"local_amt\": 3.18,\n \"local_curr_code\": \"840\",\n \"settle_amt\": 3434534.53,\n \"settle_curr_code\": null,\n \"billing_amt\": 3434534.53,\n \"billing_curr_code\": null,\n \"pmt_ref_no\": \"005461522202\",\n \"mcc_code\": \"7273\",\n \"iac_tax\": \"0\",\n \"iva_tax\": \"4567\",\n \"rolling_balance\": 30.07\n },\n {\n \"is_savings\": true,\n \"deny_code\": \"57\",\n \"disputable\": false,\n \"details\": \"12db - AIN\\\\BANK\\\\LOB SIOUX CITY IAUS
Deny Code: 57\",\n \"act_type\": \"DA\",\n \"act_type_description\": \"Denied Auth\",\n \"post_ts\": \"2025-07-15 14:09:25\",\n \"amt\": -8,\n \"source_id\": \"8565124\",\n \"type\": \"A\",\n \"type_description\": \"\",\n \"trans_code\": \"DAA\",\n \"arn\": \"\",\n \"merchant_id\": \"12db\",\n \"external_trans_id\": \"\",\n \"calculated_balance\": 30.07,\n \"ach_trans_id\": null,\n \"auth_ts\": \"2025-07-15 14:09:25\",\n \"prior_id\": null,\n \"card_id\": \"14861193\",\n \"formatted_merchant_desc\": null,\n \"network_code\": \"P\",\n \"auth_id\": \"8565124\",\n \"local_amt\": 8,\n \"local_curr_code\": \"840\",\n \"settle_amt\": 3434534.53,\n \"settle_curr_code\": null,\n \"billing_amt\": 3434534.53,\n \"billing_curr_code\": null,\n \"pmt_ref_no\": \"005461522202\",\n \"mcc_code\": \"7393\",\n \"iac_tax\": \"0\",\n \"iva_tax\": \"4567.9876\",\n \"rolling_balance\": 30.07\n },\n {\n \"is_savings\": true,\n \"deny_code\": null,\n \"disputable\": true,\n \"details\": \"visa test0\",\n \"act_type\": \"VS\",\n \"act_type_description\": \"Visa Settlement\",\n \"post_ts\": \"2025-07-14 14:13:26\",\n \"amt\": 1.57,\n \"source_id\": \"47033103\",\n \"type\": \"A\",\n \"type_description\": \"\",\n \"trans_code\": \"VSA\",\n \"arn\": \"\",\n \"merchant_id\": null,\n \"external_trans_id\": \"P1FRACAE8RIS9F2S4459HHF49WB8XH441TMDLBQ8I13HS2YDYWCBZ057BX73\",\n \"calculated_balance\": 30.07,\n \"ach_trans_id\": null,\n \"auth_ts\": \"2025-07-14 14:13:26\",\n \"prior_id\": \"0\",\n \"card_id\": \"14861193\",\n \"formatted_merchant_desc\": \"VISA TEST0\",\n \"network_code\": \"V\",\n \"auth_id\": \"47033103\",\n \"local_amt\": 1.44,\n \"local_curr_code\": \"840\",\n \"settle_amt\": 1.29,\n \"settle_curr_code\": \"840\",\n \"billing_amt\": 1.29,\n \"billing_curr_code\": \"840\",\n \"pmt_ref_no\": \"005461522202\",\n \"mcc_code\": \"5733\",\n \"iac_tax\": \"0\",\n \"iva_tax\": \"0\",\n \"rolling_balance\": 31.68\n },\n {\n \"is_savings\": true,\n \"deny_code\": null,\n \"disputable\": false,\n \"details\": \"Pending Payment\",\n \"act_type\": \"PE\",\n \"act_type_description\": \"Pending Payment\",\n \"post_ts\": \"2025-07-14 13:12:26\",\n \"amt\": 2.17,\n \"source_id\": \"7353071\",\n \"type\": \"VL\",\n \"type_description\": \"Visa Load\",\n \"trans_code\": \"PEVL\",\n \"arn\": \"\",\n \"merchant_id\": null,\n \"external_trans_id\": \"\",\n \"calculated_balance\": 28.5,\n \"ach_trans_id\": null,\n \"auth_ts\": null,\n \"prior_id\": \"0\",\n \"card_id\": \"N/A\",\n \"formatted_merchant_desc\": null,\n \"network_code\": null,\n \"auth_id\": null,\n \"local_amt\": null,\n \"local_curr_code\": null,\n \"settle_amt\": null,\n \"settle_curr_code\": null,\n \"billing_amt\": null,\n \"billing_curr_code\": null,\n \"pmt_ref_no\": \"005461522202\",\n \"mcc_code\": null,\n \"iac_tax\": \"0\",\n \"iva_tax\": \"0\",\n \"rolling_balance\": 28.5\n },\n {\n \"is_savings\": true,\n \"deny_code\": null,\n \"disputable\": true,\n \"details\": \"visa test1\",\n \"act_type\": \"VS\",\n \"act_type_description\": \"Visa Settlement\",\n \"post_ts\": \"2025-07-13 13:12:26\",\n \"amt\": 3.14,\n \"source_id\": \"47033104\",\n \"type\": \"A\",\n \"type_description\": \"\",\n \"trans_code\": \"VSA\",\n \"arn\": \"\",\n \"merchant_id\": null,\n \"external_trans_id\": \"I9M3ZIJVEY70QHOWHF3RGYPG0GPV6BA1R0LTT4DMNQ4389U1EKT32BEZ0Z4K\",\n \"calculated_balance\": 28.5,\n \"ach_trans_id\": null,\n \"auth_ts\": \"2025-07-13 13:12:26\",\n \"prior_id\": \"0\",\n \"card_id\": \"14861193\",\n \"formatted_merchant_desc\": \"VISA TEST1\",\n \"network_code\": \"V\",\n \"auth_id\": \"47033104\",\n \"local_amt\": 1.44,\n \"local_curr_code\": \"840\",\n \"settle_amt\": 1.29,\n \"settle_curr_code\": \"840\",\n \"billing_amt\": 1.29,\n \"billing_curr_code\": \"840\",\n \"pmt_ref_no\": \"005461522202\",\n \"mcc_code\": \"5733\",\n \"iac_tax\": \"0\",\n \"iva_tax\": \"0\",\n \"rolling_balance\": 28.5\n },\n {\n \"is_savings\": true,\n \"deny_code\": \"57 \",\n \"disputable\": false,\n \"details\": \"FIBERSTORE HONG KONG HK\",\n \"act_type\": \"DA\",\n \"act_type_description\": \"Denied Auth\",\n \"post_ts\": \"2025-07-13 10:13:25\",\n \"amt\": -4.86,\n \"source_id\": \"1\",\n \"type\": \"A\",\n \"type_description\": \"\",\n \"trans_code\": \"DAA\",\n \"arn\": \"\",\n \"merchant_id\": \"12all \",\n \"external_trans_id\": \"\",\n \"calculated_balance\": 25.36,\n \"ach_trans_id\": null,\n \"auth_ts\": \"2025-07-13 10:13:25\",\n \"prior_id\": null,\n \"card_id\": \"14861193\",\n \"formatted_merchant_desc\": null,\n \"network_code\": \"A\",\n \"auth_id\": \"1\",\n \"local_amt\": 4.86,\n \"local_curr_code\": \"840\",\n \"settle_amt\": 3434534.53,\n \"settle_curr_code\": null,\n \"billing_amt\": 3434534.53,\n \"billing_curr_code\": null,\n \"pmt_ref_no\": \"005461522202\",\n \"mcc_code\": \"3135\",\n \"iac_tax\": \"0\",\n \"iva_tax\": \"0\",\n \"rolling_balance\": 25.36\n },\n {\n \"is_savings\": true,\n \"deny_code\": null,\n \"disputable\": true,\n \"details\": \"visa test2\",\n \"act_type\": \"VS\",\n \"act_type_description\": \"Visa Settlement\",\n \"post_ts\": \"2025-07-12 12:11:26\",\n \"amt\": 4.71,\n \"source_id\": \"47033105\",\n \"type\": \"A\",\n \"type_description\": \"\",\n \"trans_code\": \"VSA\",\n \"arn\": \"\",\n \"merchant_id\": null,\n \"external_trans_id\": \"5N4THXRGHZ290LOPKBH1GPZ1ALWPJOM6NCWXZK6YK9DY3XT32M2Q1MTLE5X5\",\n \"calculated_balance\": 25.36,\n \"ach_trans_id\": null,\n \"auth_ts\": \"2025-07-12 12:11:26\",\n \"prior_id\": \"0\",\n \"card_id\": \"14861193\",\n \"formatted_merchant_desc\": \"VISA TEST2\",\n \"network_code\": \"V\",\n \"auth_id\": \"47033105\",\n \"local_amt\": 1.44,\n \"local_curr_code\": \"840\",\n \"settle_amt\": 1.29,\n \"settle_curr_code\": \"840\",\n \"billing_amt\": 1.29,\n \"billing_curr_code\": \"840\",\n \"pmt_ref_no\": \"005461522202\",\n \"mcc_code\": \"5733\",\n \"iac_tax\": \"0\",\n \"iva_tax\": \"0\",\n \"rolling_balance\": 25.36\n },\n {\n \"is_savings\": true,\n \"deny_code\": null,\n \"disputable\": false,\n \"details\": \"pulse auth test3\",\n \"act_type\": \"PU\",\n \"act_type_description\": \"Pulse Auth\",\n \"post_ts\": \"2025-07-12 08:13:25\",\n \"amt\": 6.52,\n \"source_id\": \"1\",\n \"type\": \"A\",\n \"type_description\": \"\",\n \"trans_code\": \"PUA\",\n \"arn\": \"\",\n \"merchant_id\": null,\n \"external_trans_id\": \"PJC2DDD1AHKKNR0S3ZGT68BFYJ2BQJJSODWYZ0EFU6N8I2YKO95ZHWACGXS2\",\n \"calculated_balance\": 20.65,\n \"ach_trans_id\": null,\n \"auth_ts\": \"2025-07-12 08:13:25\",\n \"prior_id\": \"0\",\n \"card_id\": \"14861193\",\n \"formatted_merchant_desc\": \"PULSE AUTH TEST3\",\n \"network_code\": \"B\",\n \"auth_id\": \"1\",\n \"local_amt\": 1.44,\n \"local_curr_code\": \"840\",\n \"settle_amt\": 1.29,\n \"settle_curr_code\": \"840\",\n \"billing_amt\": 1.29,\n \"billing_curr_code\": \"840\",\n \"pmt_ref_no\": \"005461522202\",\n \"mcc_code\": \"3662\",\n \"iac_tax\": \"0\",\n \"iva_tax\": \"0\",\n \"rolling_balance\": 20.65\n },\n {\n \"is_savings\": true,\n \"deny_code\": \"57\",\n \"disputable\": false,\n \"details\": \"FIBERSTORE HONG KONG HK\",\n \"act_type\": \"DA\",\n \"act_type_description\": \"Denied Auth\",\n \"post_ts\": \"2025-07-12 08:13:25\",\n \"amt\": -6.52,\n \"source_id\": \"1\",\n \"type\": \"A\",\n \"type_description\": \"\",\n \"trans_code\": \"DAA\",\n \"arn\": \"\",\n \"merchant_id\": \"12pulse \",\n \"external_trans_id\": \"\",\n \"calculated_balance\": 14.13,\n \"ach_trans_id\": null,\n \"auth_ts\": \"2025-07-12 08:13:25\",\n \"prior_id\": null,\n \"card_id\": \"14861193\",\n \"formatted_merchant_desc\": null,\n \"network_code\": \"B\",\n \"auth_id\": \"1\",\n \"local_amt\": 6.52,\n \"local_curr_code\": \"840\",\n \"settle_amt\": 3434534.53,\n \"settle_curr_code\": null,\n \"billing_amt\": 3434534.53,\n \"billing_curr_code\": null,\n \"pmt_ref_no\": \"005461522202\",\n \"mcc_code\": \"3662\",\n \"iac_tax\": \"0\",\n \"iva_tax\": \"0\",\n \"rolling_balance\": 14.13\n },\n {\n \"is_savings\": true,\n \"deny_code\": null,\n \"disputable\": true,\n \"details\": \"visa test3\",\n \"act_type\": \"VS\",\n \"act_type_description\": \"Visa Settlement\",\n \"post_ts\": \"2025-07-11 11:10:26\",\n \"amt\": 6.28,\n \"source_id\": \"47033106\",\n \"type\": \"A\",\n \"type_description\": \"\",\n \"trans_code\": \"VSA\",\n \"arn\": \"\",\n \"merchant_id\": null,\n \"external_trans_id\": \"KNXXAPBYN77WA3GDEHJDE633875ZM0A50D5YWCZ967QJFUI9X1AGDR6MA4J9\",\n \"calculated_balance\": 14.13,\n \"ach_trans_id\": null,\n \"auth_ts\": \"2025-07-11 11:10:26\",\n \"prior_id\": \"0\",\n \"card_id\": \"14861193\",\n \"formatted_merchant_desc\": \"VISA TEST3\",\n \"network_code\": \"V\",\n \"auth_id\": \"47033106\",\n \"local_amt\": 1.44,\n \"local_curr_code\": \"840\",\n \"settle_amt\": 1.29,\n \"settle_curr_code\": \"840\",\n \"billing_amt\": 1.29,\n \"billing_curr_code\": \"840\",\n \"pmt_ref_no\": \"005461522202\",\n \"mcc_code\": \"5733\",\n \"iac_tax\": \"0\",\n \"iva_tax\": \"0\",\n \"rolling_balance\": 14.13\n },\n {\n \"is_savings\": true,\n \"deny_code\": null,\n \"disputable\": true,\n \"details\": \"visa test4\",\n \"act_type\": \"VS\",\n \"act_type_description\": \"Visa Settlement\",\n \"post_ts\": \"2025-07-10 10:09:26\",\n \"amt\": 7.85,\n \"source_id\": \"47033107\",\n \"type\": \"A\",\n \"type_description\": \"\",\n \"trans_code\": \"VSA\",\n \"arn\": \"\",\n \"merchant_id\": null,\n \"external_trans_id\": \"RFH4NC2KLJKXKQXREEHYGU58TPRKZZ0PP2KLQGKA0PL9ZYNLL3ABYUGQAM7Q\",\n \"calculated_balance\": 7.85,\n \"ach_trans_id\": null,\n \"auth_ts\": \"2025-07-10 10:09:26\",\n \"prior_id\": \"0\",\n \"card_id\": \"14861193\",\n \"formatted_merchant_desc\": \"VISA TEST4\",\n \"network_code\": \"V\",\n \"auth_id\": \"47033107\",\n \"local_amt\": 1.44,\n \"local_curr_code\": \"840\",\n \"settle_amt\": 1.29,\n \"settle_curr_code\": \"840\",\n \"billing_amt\": 1.29,\n \"billing_curr_code\": \"840\",\n \"pmt_ref_no\": \"005461522202\",\n \"mcc_code\": \"5733\",\n \"iac_tax\": \"3456217890.7654\",\n \"iva_tax\": \"45.67\",\n \"rolling_balance\": 7.85\n }\n ],\n \"beginning_balance\": 0\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"681a5fab-9570-4b40-a531-69ae657d3264\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 14:13:28\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.577\n \n 15\n 1\n 15\n 1\n 2025-06-15 00:00:00\n 2025-07-16 23:59:59\n \n 6.52\n 23.55\n 0\n -1.57\n 0\n \n \n \n true\n \n false\n Pending Payment \n PE\n Pending Payment\n 2025-07-15 14:13:26\n 1\n 7353070\n VL\n Visa Load\n PEVL\n \n \n \n 30.11\n \n \n 0\n N/A\n \n \n \n \n \n \n \n \n \n 005461522202\n \n 0\n 0\n 30.11\n \n \n true\n \n false\n visa test0 \n FE\n Fee\n 2025-07-15 14:13:25\n -1.57\n 47033109\n A\n \n FE000A\n \n \n X02U4F1IR42UCE8LDSLE4SRD03MGYOK34SLOJPK92WEJCIHDM9OMGUDEC8O8\n 30.11\n \n 2025-07-15 14:13:25\n 0\n 14861193\n \n V\n 47033109\n 1.44\n 840\n 1.29\n 840\n 1.29\n 840\n 005461522202\n 5733\n 0\n 0\n 30.11\n \n \n true\n \n false\n discover auth test0 \n DC\n DC\n 2025-07-15 14:13:25\n 1.61\n 1\n A\n \n DCA\n \n \n FRL96KQMED6PMC5X7IXYHXAF3EYKQII90B79JL78VWAPVDOEDX5MMOW8L63X\n 31.68\n \n 2025-07-15 14:13:25\n 0\n 14861193\n \n D\n 1\n 1.44\n 840\n 1.29\n 840\n 1.29\n 840\n 005461522202\n 6993\n 0\n 0\n 31.68\n \n \n true\n 57\n false\n AIN\\BANK\\LOB SIOUX CITY IAUS<br><b>Deny Code: </b>57 \n DA\n Denied Auth\n 2025-07-15 14:13:25\n -1.57\n 47033108\n A\n \n DAA\n \n 324234\n \n 30.07\n \n 2025-07-15 14:13:25\n 1234567890\n 14861193\n \n I\n 47033108\n 1.57\n 840\n 32423.42\n 841\n 243423.42\n 840\n 005461522202\n 5733\n 0\n 0\n 30.07\n \n \n true\n 57\n false\n 12star - AIN\\BANK\\LOB SIOUX CITY IAUS\\Q<br><b>Deny Code: </b>57 \n DA\n Denied Auth\n 2025-07-15 14:12:25\n -3.18\n 1\n A\n \n DAA\n \n 12star\n \n 30.07\n \n 2025-07-15 14:12:25\n \n 14861193\n \n S\n 1\n 3.18\n 840\n 3434534.53\n \n 3434534.53\n \n 005461522202\n 7273\n 0\n 4567\n 30.07\n \n \n true\n 57\n false\n 12db - AIN\\BANK\\LOB SIOUX CITY IAUS<br><b>Deny Code: </b>57 \n DA\n Denied Auth\n 2025-07-15 14:09:25\n -8\n 8565124\n A\n \n DAA\n \n 12db\n \n 30.07\n \n 2025-07-15 14:09:25\n \n 14861193\n \n P\n 8565124\n 8\n 840\n 3434534.53\n \n 3434534.53\n \n 005461522202\n 7393\n 0\n 4567.9876\n 30.07\n \n \n true\n \n true\n visa test0 \n VS\n Visa Settlement\n 2025-07-14 14:13:26\n 1.57\n 47033103\n A\n \n VSA\n \n \n P1FRACAE8RIS9F2S4459HHF49WB8XH441TMDLBQ8I13HS2YDYWCBZ057BX73\n 30.07\n \n 2025-07-14 14:13:26\n 0\n 14861193\n VISA TEST0\n V\n 47033103\n 1.44\n 840\n 1.29\n 840\n 1.29\n 840\n 005461522202\n 5733\n 0\n 0\n 31.68\n \n \n true\n \n false\n Pending Payment \n PE\n Pending Payment\n 2025-07-14 13:12:26\n 2.17\n 7353071\n VL\n Visa Load\n PEVL\n \n \n \n 28.5\n \n \n 0\n N/A\n \n \n \n \n \n \n \n \n \n 005461522202\n \n 0\n 0\n 28.5\n \n \n true\n \n true\n visa test1 \n VS\n Visa Settlement\n 2025-07-13 13:12:26\n 3.14\n 47033104\n A\n \n VSA\n \n \n I9M3ZIJVEY70QHOWHF3RGYPG0GPV6BA1R0LTT4DMNQ4389U1EKT32BEZ0Z4K\n 28.5\n \n 2025-07-13 13:12:26\n 0\n 14861193\n VISA TEST1\n V\n 47033104\n 1.44\n 840\n 1.29\n 840\n 1.29\n 840\n 005461522202\n 5733\n 0\n 0\n 28.5\n \n \n true\n 57 \n false\n FIBERSTORE HONG KONG HK \n DA\n Denied Auth\n 2025-07-13 10:13:25\n -4.86\n 1\n A\n \n DAA\n \n 12all\n \n 25.36\n \n 2025-07-13 10:13:25\n \n 14861193\n \n A\n 1\n 4.86\n 840\n 3434534.53\n \n 3434534.53\n \n 005461522202\n 3135\n 0\n 0\n 25.36\n \n \n true\n \n true\n visa test2 \n VS\n Visa Settlement\n 2025-07-12 12:11:26\n 4.71\n 47033105\n A\n \n VSA\n \n \n 5N4THXRGHZ290LOPKBH1GPZ1ALWPJOM6NCWXZK6YK9DY3XT32M2Q1MTLE5X5\n 25.36\n \n 2025-07-12 12:11:26\n 0\n 14861193\n VISA TEST2\n V\n 47033105\n 1.44\n 840\n 1.29\n 840\n 1.29\n 840\n 005461522202\n 5733\n 0\n 0\n 25.36\n \n \n true\n \n false\n pulse auth test3 \n PU\n Pulse Auth\n 2025-07-12 08:13:25\n 6.52\n 1\n A\n \n PUA\n \n \n PJC2DDD1AHKKNR0S3ZGT68BFYJ2BQJJSODWYZ0EFU6N8I2YKO95ZHWACGXS2\n 20.65\n \n 2025-07-12 08:13:25\n 0\n 14861193\n PULSE AUTH TEST3\n B\n 1\n 1.44\n 840\n 1.29\n 840\n 1.29\n 840\n 005461522202\n 3662\n 0\n 0\n 20.65\n \n \n true\n 57\n false\n FIBERSTORE HONG KONG HK \n DA\n Denied Auth\n 2025-07-12 08:13:25\n -6.52\n 1\n A\n \n DAA\n \n 12pulse\n \n 14.13\n \n 2025-07-12 08:13:25\n \n 14861193\n \n B\n 1\n 6.52\n 840\n 3434534.53\n \n 3434534.53\n \n 005461522202\n 3662\n 0\n 0\n 14.13\n \n \n true\n \n true\n visa test3 \n VS\n Visa Settlement\n 2025-07-11 11:10:26\n 6.28\n 47033106\n A\n \n VSA\n \n \n KNXXAPBYN77WA3GDEHJDE633875ZM0A50D5YWCZ967QJFUI9X1AGDR6MA4J9\n 14.13\n \n 2025-07-11 11:10:26\n 0\n 14861193\n VISA TEST3\n V\n 47033106\n 1.44\n 840\n 1.29\n 840\n 1.29\n 840\n 005461522202\n 5733\n 0\n 0\n 14.13\n \n \n true\n \n true\n visa test4 \n VS\n Visa Settlement\n 2025-07-10 10:09:26\n 7.85\n 47033107\n A\n \n VSA\n \n \n RFH4NC2KLJKXKQXREEHYGU58TPRKZZ0PP2KLQGKA0PL9ZYNLL3ABYUGQAM7Q\n 7.85\n \n 2025-07-10 10:09:26\n 0\n 14861193\n VISA TEST4\n V\n 47033107\n 1.44\n 840\n 1.29\n 840\n 1.29\n 840\n 005461522202\n 5733\n 3456217890.7654\n 45.67\n 7.85\n \n \n 0\n \n \n \n \n 681a5fab-9570-4b40-a531-69ae657d3264\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 14:13:28\n"
description: ''
parameters: []
summary: Get All Transaction History
description: 'Use the Get All Transaction History endpoint to retrieve all of the transactions on the SoFi Tech Solutions ledger, including backouts, denied transactions, >-only requests, and tokenization requests.
- This endpoint returns the same transactions as the *All Transactions* page in the >.
- Transactions are returned newest first, ordered by `post_ts` descending. Because `post_ts` has one-second precision, transactions sharing the same second are then ordered by `act_id` descending. Pending payments and denied authorizations have no `act_id` and are returned after the posted transactions they share a `post_ts` with.
- See Record-Set Pagination for instructions on using the paging parameters.
- Open the Recipes below to see response examples.'
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.
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"`'
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`. Max 1098 days (~3 years) after `startDate`. \nPattern: YYYY-MM-DD or YYYY-MM-DD hh:mm:ss\nExample: `\"2016-01-01\"`"
example: '2016-01-01'
page:
type:
- integer
- 'null'
format: int32
default: 1
minimum: 1
maximum: 999999
description: 'The number of the page to retrieve.
Pattern: Integer value of `1` or greater
Example: `3`'
example: 3
recordCnt:
type:
- integer
- 'null'
format: int32
minimum: 1
maximum: 99999
description: 'The maximum number of records per page to be returned.
Pattern: Positive integer `1-99999`
Example: `100`'
example: 100
required:
- accountNo
- endDate
- startDate
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
operationId: post_getalltranshistory
/getPendingFees:
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:
fees:
type: array
description: List of fees
items:
type: object
properties:
fee_event_id:
type: string
description: System-generated fee transaction integer ID
type:
type: string
description: Three-letter fee code. This is not the transaction type (otype).
type_description:
type: string
description: A description of the type code
amt:
type: string
description: Amount of the fee charge
fee_date:
type: string
format: date-time
description: A timestamp for the time the fee was charged
card_id:
type:
- integer
- 'null'
format: int32
description: Integer identifier of the card as found in the raw data file (RDF). Unique identifier for a PAN.
fee_description:
type: string
description: The description on a fee
related_transaction:
description: A data structure that contains information on transactions related to a fee
type:
- object
- 'null'
properties:
details:
type:
- string
- 'null'
description: Information on a transaction or authorization
amt:
type: number
format: float
description: Amount of a fee or transaction charge
post_ts:
type: string
format: date-time
description: The time stamp of a posted transaction
required:
- amt
- details
- post_ts
required:
- amt
- card_id
- fee_date
- fee_description
- fee_event_id
- related_transaction
- type
- type_description
required:
- fees
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 \"fees\": [\n {\n \"fee_event_id\": \"65755855\",\n \"type\": \"ITC\",\n \"type_description\": \"0220\",\n \"amt\": \"-13.35\",\n \"fee_date\": \"2025-07-15 06:24:36\",\n \"card_id\": \"14861213\",\n \"fee_description\": \"Foreign Transaction Credit\",\n \"related_transaction\": null\n },\n {\n \"fee_event_id\": \"65755854\",\n \"type\": \"TRC\",\n \"type_description\": \"0029\",\n \"amt\": \"-12.18\",\n \"fee_date\": \"2025-07-15 07:26:36\",\n \"card_id\": \"14861213\",\n \"fee_description\": \"Credit Transaction\",\n \"related_transaction\": null\n },\n {\n \"fee_event_id\": \"65755853\",\n \"type\": \"DED\",\n \"type_description\": \"0025\",\n \"amt\": \"-11.01\",\n \"fee_date\": \"2025-07-15 08:28:36\",\n \"card_id\": \"14861213\",\n \"fee_description\": \"Denied Credit Domestic Transaction\",\n \"related_transaction\": null\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"2eec1721-cfaf-4247-95f8-46aa4a5cccb7\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 14:41:38\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.046\n \n \n \n 65755855\n ITC\n 0220\n -13.35\n 2025-07-15 06:24:36\n 14861213\n Foreign Transaction Credit\n \n \n \n 65755854\n TRC\n 0029\n -12.18\n 2025-07-15 07:26:36\n 14861213\n Credit Transaction\n \n \n \n 65755853\n DED\n 0025\n -11.01\n 2025-07-15 08:28:36\n 14861213\n Denied Credit Domestic Transaction\n \n \n \n \n \n \n \n 0cd102c3-a6df-47a4-9835-0c4a1bf6304a\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 14:41:39\n"
description: ''
parameters: []
summary: Get Pending Fees
description: 'Use the Get Pending Fees endpoint to retrieve the fees that have not yet been processed against the specified customer account. Most fees are processed as soon as they are created, but if the account has insufficient funds to pay the fee, the fee will be pending until there are sufficient funds.
- The response data for this endpoint is also available in the Get Account Overview response.
- The response for each individual pending fee will include authorization-related transaction information, if applicable, which is in the `related_transaction` data element.'
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
required:
- accountNo
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
operationId: post_getpendingfees
/getPaymentHistory:
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:
transaction_count:
type: integer
format: int32
description: The number of transactions listed in the response
page:
type: integer
format: int32
description: The page number to be retrieved in the context of recordset paging
total_record_count:
type: integer
format: int32
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
start_date:
type: string
format: date-time
description: The start date for the response
end_date:
type: string
format: date-time
description: The end date for the response
payments:
type: array
description: List of Payments
items:
type: object
properties:
pmt_id:
type: string
description: ID assigned to the specific payment
details:
type: string
description: Description of the payment
amount:
type: string
description: An amount of a payment
timestamp:
type: string
format: date-time
description: The date and time of the payment
source_id:
type:
- string
- 'null'
description: A code unique to the source of the payment
ach_transaction_id:
type:
- string
- 'null'
description: A unique ID for an ACH transaction
external_trans_id:
type:
- string
- 'null'
description: User-supplied identifier that is related to an external system
hold_days:
type:
- string
- 'null'
description: The number of days on a hold. Specific to a pending payment, usually due to load-limt violations or from a hold placed by Create Payment
status:
type:
- string
- 'null'
description: Status designator of the payment; see [Payment `status` codes](#payment-status-codes) for valid values
status_description:
type:
- string
- 'null'
description: Descriptor for `status`
required:
- ach_transaction_id
- amount
- details
- external_trans_id
- hold_days
- pmt_id
- source_id
- status
- status_description
- timestamp
required:
- end_date
- number_of_pages
- page
- payments
- start_date
- total_record_count
- transaction_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.058,\n \"response_data\": {\n \"transaction_count\": 3,\n \"page\": 1,\n \"total_record_count\": 3,\n \"number_of_pages\": 1,\n \"start_date\": \"2025-08-30 00:00:00\",\n \"end_date\": \"2025-09-20 23:59:59\",\n \"payments\": [\n {\n \"pmt_id\": \"40346\",\n \"details\": \"Retail Load\",\n \"amount\": \"10\",\n \"timestamp\": \"2025-09-20 13:44:11\",\n \"source_id\": \"0\",\n \"ach_transaction_id\": null,\n \"external_trans_id\": \"34VJ0VLSP79B5Y346TYJ\",\n \"hold_days\": \"0\",\n \"status\": \"P\",\n \"status_description\": \"Processed\"\n },\n {\n \"pmt_id\": \"40345\",\n \"details\": \"Card to Card\",\n \"amount\": \"1.25\",\n \"timestamp\": \"2025-09-20 13:44:10\",\n \"source_id\": null,\n \"ach_transaction_id\": null,\n \"external_trans_id\": \"QO74VUSYICQ1E7MIBP7O\",\n \"hold_days\": \"0\",\n \"status\": \"P\",\n \"status_description\": \"Processed\"\n },\n {\n \"pmt_id\": \"40341\",\n \"details\": \"Card to Card\",\n \"amount\": \"1.25\",\n \"timestamp\": \"2025-09-20 13:43:59\",\n \"source_id\": null,\n \"ach_transaction_id\": null,\n \"external_trans_id\": \"DRKFROGTALB50FYUR3F3\",\n \"hold_days\": \"0\",\n \"status\": \"P\",\n \"status_description\": \"Processed\"\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"1J669F8UAM6EKPB32IS4\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:31:59\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.057\n \n 3\n 1\n 3\n 1\n 2025-08-30 00:00:00\n 2025-09-20 23:59:59\n \n \n 40346\n Retail Load \n 10\n 2025-09-20 13:44:11\n 0\n \n 34VJ0VLSP79B5Y346TYJ\n 0\n P\n Processed\n \n \n 40345\n Card to Card \n 1.25\n 2025-09-20 13:44:10\n \n \n QO74VUSYICQ1E7MIBP7O\n 0\n P\n Processed\n \n \n 40341\n Card to Card \n 1.25\n 2025-09-20 13:43:59\n \n \n DRKFROGTALB50FYUR3F3\n 0\n P\n Processed\n \n \n \n \n \n \n 0JGNO8Y3100VOPGMFD93\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 10:53:09\n"
description: ''
parameters: []
summary: Get Payment History
description: 'Use the Get Payment History endpoint to retrieve payments (credits) for a customer account during a specified period.
See Record-Set Pagination for instructions on using the paging 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
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`. Max 1098 days (~3 years) after `startDate`. \nPattern: YYYY-MM-DD or YYYY-MM-DD hh:mm:ss\nExample: `\"2016-01-01\"`"
example: '2016-01-01'
includeRelated:
type:
- integer
- 'null'
format: int32
default: 0
enum:
- 0
- 1
description: "Whether to return transactions for all accounts that share the same account holder (`client_id`) or balance (`bal_id`).\n \nWhen `accountNo` contains a primary account:\n- `0` — **Default**. Retrieve all transactions that share the same balance. \n- `1` — Retrieve all transactions from the same account holder. \n\nWhen `accountNo` contains a secondary account:\n- `0` — **Default**. Retrieve all transactions from the specified account only. \n- `1` — Retrieve all transactions from the same account holder.\n \nPattern: Integer\nExample: `1`"
example: 1
recordCnt:
type:
- integer
- 'null'
format: int32
minimum: 1
maximum: 99999
description: 'The maximum number of records per page to be returned.
Pattern: Positive integer `1-99999`
Example: `100`'
example: 100
page:
type:
- integer
- 'null'
format: int32
default: 1
minimum: 1
maximum: 999999
description: 'The number of the page to retrieve.
Pattern: Integer value of `1` or greater
Example: `3`'
example: 3
required:
- accountNo
- endDate
- startDate
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
operationId: post_getpaymenthistory
/getFeeHistory:
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:
fee_count:
type: integer
format: int32
description: A count of fees being recorded on
page:
type: integer
format: int32
description: The page number to be retrieved in the context of recordset paging
total_record_count:
type: integer
format: int32
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
start_date:
type: string
format: date-time
description: The start date of the response
end_date:
type: string
format: date-time
description: The end date of the response
fees:
type: array
description: List of fees
items:
type: object
properties:
pmt_ref_no:
type: string
description: A system-generated account number
fee_id:
type: string
description: The ID of the fee record
fee_date:
type:
- string
- 'null'
format: date-time
description: A timestamp for the time the fee was charged
amt:
type: string
description: A fee or transaction amount
status:
type:
- string
- 'null'
description: The status of a fee event record return in this method
status_description:
type:
- string
- 'null'
description: A spelled-out status of the fee
type:
type: string
description: Three-letter fee code. This is not the transaction type (otype).
type_description:
type: string
description: A description of the type code
fee_event_id:
type: string
description: An ID for the fee event
required:
- amt
- fee_date
- fee_event_id
- fee_id
- pmt_ref_no
- status
- status_description
- type
- type_description
required:
- end_date
- fee_count
- fees
- number_of_pages
- page
- start_date
- 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.432,\n \"response_data\": {\n \"fee_count\": 5,\n \"start_date\": \"2025-06-15 00:00:00\",\n \"end_date\": \"2025-07-15 23:59:59\",\n \"number_of_pages\": 3,\n \"page\": 2,\n \"total_record_count\": 11,\n \"fees\": [\n {\n \"pmt_ref_no\": \"005461536202\",\n \"fee_id\": \"20982137\",\n \"fee_date\": \"2025-07-15 00:00:00\",\n \"amt\": \"-11.01\",\n \"status\": null,\n \"status_description\": null,\n \"type\": \"ATD\",\n \"type_description\": \"0013\",\n \"fee_event_id\": \"65755841\"\n },\n {\n \"pmt_ref_no\": \"005461536202\",\n \"fee_id\": \"20982136\",\n \"fee_date\": \"2025-07-15 00:00:00\",\n \"amt\": \"-9.84\",\n \"status\": null,\n \"status_description\": null,\n \"type\": \"ATD\",\n \"type_description\": \"0013\",\n \"fee_event_id\": \"65755840\"\n },\n {\n \"pmt_ref_no\": \"005461536202\",\n \"fee_id\": \"20982135\",\n \"fee_date\": \"2025-07-15 00:00:00\",\n \"amt\": \"-8.67\",\n \"status\": null,\n \"status_description\": null,\n \"type\": \"ATD\",\n \"type_description\": \"0013\",\n \"fee_event_id\": \"65755839\"\n },\n {\n \"pmt_ref_no\": \"005461536202\",\n \"fee_id\": \"20982134\",\n \"fee_date\": \"2025-07-15 00:00:00\",\n \"amt\": \"-7.5\",\n \"status\": null,\n \"status_description\": null,\n \"type\": \"ATD\",\n \"type_description\": \"0013\",\n \"fee_event_id\": \"65755838\"\n },\n {\n \"pmt_ref_no\": \"005461536202\",\n \"fee_id\": \"20982133\",\n \"fee_date\": \"2025-07-15 00:00:00\",\n \"amt\": \"-6.33\",\n \"status\": null,\n \"status_description\": null,\n \"type\": \"ATD\",\n \"type_description\": \"0013\",\n \"fee_event_id\": \"65755837\"\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"d1dffb5f-e3f1-442d-ba63-7c326953b8c8\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 14:31:57\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.024\n \n 5\n 2025-06-15 00:00:00\n 2025-07-15 23:59:59\n 3\n 2\n 11\n \n \n 005461536202\n 20982137\n 2025-07-15 00:00:00\n -11.01\n \n \n ATD\n 0013\n 65755841\n \n \n 005461536202\n 20982136\n 2025-07-15 00:00:00\n -9.84\n \n \n ATD\n 0013\n 65755840\n \n \n 005461536202\n 20982135\n 2025-07-15 00:00:00\n -8.67\n \n \n ATD\n 0013\n 65755839\n \n \n 005461536202\n 20982134\n 2025-07-15 00:00:00\n -7.5\n \n \n ATD\n 0013\n 65755838\n \n \n 005461536202\n 20982133\n 2025-07-15 00:00:00\n -6.33\n \n \n ATD\n 0013\n 65755837\n \n \n \n \n \n \n 05325dee-ce24-4bb0-ab55-5a5be5ed5e40\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 14:31:58\n"
description: ''
parameters: []
summary: Get Fee History
description: 'Use the Get Fee History endpoint to retrieve a list of fees for the specified customer account.
See Record-Set Pagination for instructions on using the paging 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
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`. Max 1098 days (~3 years) after `startDate`. \nPattern: YYYY-MM-DD or YYYY-MM-DD hh:mm:ss\nExample: `\"2016-01-01\"`"
example: '2016-01-01'
recordCnt:
type:
- integer
- 'null'
format: int32
minimum: 1
maximum: 99999
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: 999999
description: 'The number of the page to retrieve.
Pattern: Integer value of `1` or greater
Example: `3`'
example: 3
required:
- accountNo
- endDate
- startDate
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
operationId: post_getfeehistory
/getFeeSummary:
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:
fees_ytd:
type: number
format: float
description: Fees year-to-date
fees_mtd:
type: number
format: float
description: Fees month-to-date
required:
- fees_mtd
- fees_ytd
required:
- echo
- processing_time
- response_data
- rtoken
- status
- status_code
- system_timestamp
description: ''
parameters: []
summary: Get Fee Summary
description: 'Use Get Fee Summary to retrieve the total fee amount that was posted during the specified timespan.
See Record-Set Pagination for instructions on using the paging 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
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.
Pattern: PAN or PRN
Example: `"074103447228"`'
example: 074103447228
ytdStart:
type: string
format: date
description: 'Start date for the year to date.
Pattern: YYYY-MM-DD
Example: `"2022-01-01"`'
example: '2022-01-01'
ytdEnd:
type: string
format: date
description: 'End date of the year to date.
Pattern: YYYY-MM-DD
Example: `"2022-11-05"`'
example: '2022-11-05'
mtdStart:
type: string
format: date
description: 'Start date of the month to date.
Pattern: YYYY-MM-DD
Example: `"2022-03-01"`'
example: '2022-03-01'
mtdEnd:
type: string
format: date
description: 'End date of the month to date.
Pattern: YYYY-MM-DD
Example: `"2022-03-15"`'
example: '2022-03-15'
required:
- accountNo
- mtdEnd
- mtdStart
- transactionId
- ytdEnd
- ytdStart
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
operationId: post_getfeesummary
/getAchAccounts:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
responses:
default:
description: ''
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:
found:
type: integer
format: int32
description: The number of ACH accounts found
ach_accounts:
type: array
description: List of ACH accounts
items:
type: object
properties:
ach_account_id:
type: string
description: A unique ID for an ACH account
status:
type: string
description: The status of the ACH account. See ACH Account Statuses.
routing_no:
type: string
description: A 9-digit number that specifies a financial institution
account_no:
type: string
description: The account number at the remote financial institution
type:
type: string
description: The type of account
name:
type:
- string
- 'null'
description: The display name of the ACH account
company_name:
type:
- string
- 'null'
description: 'Name of the company that owns the ACH account. Returned when `entity_type: C`.'
entity_type:
type:
- string
- 'null'
description: 'Type of account holder of the ACH account: individual (`I`) or company (`C`).'
first_name:
type:
- string
- 'null'
description: 'First name of the ACH account holder. Returned when `entity_type: I`.'
last_name:
type:
- string
- 'null'
description: 'Last name of the ACH account holder. Returned when `entity_type: I`'
file_first_name:
type:
- string
- 'null'
description: 'First name of the individual account holder that is used in the outgoing Nacha file. Returned when `entity_type: I`'
file_last_name:
type:
- string
- 'null'
description: 'Last name of the individual account holder that is used in the outgoing Nacha file. Returned when `entity_type: I`'
file_company_name:
type:
- string
- 'null'
required:
- account_no
- ach_account_id
- company_name
- entity_type
- file_company_name
- file_first_name
- file_last_name
- first_name
- last_name
- name
- routing_no
- status
- type
required:
- ach_accounts
- found
required:
- echo
- processing_time
- response_data
- rtoken
- status
- status_code
- system_timestamp
examples:
response:
value: "{\n \"response\": {\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.051,\n \"response_data\": {\n \"ach_accounts\": {\n \"ach_account\": [\n {\n \"ach_account_id\": 13997,\n \"status\": \"N\",\n \"routing_no\": 324079555,\n \"account_no\": \"XXXXXXXXX4348\",\n \"type\": \"C\",\n \"name\": \"checking\",\n \"entity_type\": \"I\",\n \"first_name\": \"\",\n \"last_name\": \"\",\n \"file_first_name\": \"\",\n \"file_last_name\": \"\",\n \"company_name\": \"\",\n \"file_company_name\": \"\"\n },\n {\n \"ach_account_id\": 14058,\n \"status\": \"N\",\n \"routing_no\": 324079555,\n \"account_no\": \"XXXXXXXXX3333\",\n \"type\": \"C\",\n \"name\": \"Mike Karb\",\n \"entity_type\": \"C\",\n \"first_name\": \"\",\n \"last_name\": \"\",\n \"file_first_name\": \"\",\n \"file_last_name\": \"\",\n \"company_name\": \"\",\n \"file_company_name\": \"\"\n }\n ]\n },\n \"found\": 2\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": \"\",\n \"transaction_id\": \"9845dk-39fdk3fj3-4483483478\"\n },\n \"system_timestamp\": \"2023-12-14 12:11:17\",\n \"rtoken\": \"749fbfa6-c611-430f-8d0f-1b88e2c28791\"\n }\n }"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.032\n \n \n \n 13997\n N\n 324079555\n XXXXXXXXX4348\n C\n checking\n I\n \n \n \n \n \n \n \n \n 14058\n N\n 324079555\n XX3333\n C\n Mike Karb\n C\n \n \n \n \n \n \n \n \n 2\n \n \n \n \n 9845dk-39fdk3fj3-4483483478\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2023-12-14 12:11:17\n"
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
tags:
- Transactions
summary: Get ACH Accounts
parameters: []
description: 'Use the Get ACH Accounts endpoint to retrieve a record of ACH accounts that are linked to a customer account.
For instructions on using this endpoint see Viewing ACH accounts in the *ACH Endpoints* guide.
[block:callout]
{
"type": "warn",
"title": "Warning",
"body": "If you plan to display ACH account and routing numbers to customers, be aware that the `accountNo` and `routingNo` returned by this endpoint may be tokenized if an aggregator service (such as Plaid) is used. Only display these values to customers if you are sure they will not be tokenized."
}
[/block]'
operationId: post_getachaccounts
/modifyAchAccount:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
responses:
default:
description: ''
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:
ach_account_id:
type: string
description: A unique ID for an ACH account
required:
- ach_account_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.363,\n \"response_data\": {\n \"ach_account_id\": \"205715\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"4bbc3059-f0ca-4b52-a7e0-7e951c16911b\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 14:51:38\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.024\n \n 205715\n \n \n \n \n e4cc4e05-5ccf-4612-b55e-13983cbcb7b3\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 14:51:39\n"
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
achAccountId:
type: integer
format: int32
description: 'ACH account identifier (`ach_account_id`), as returned by Add ACH Account or Get ACH Accounts endpoint.
Pattern: Integer
Example: `354656`'
example: 354656
name:
type:
- string
- 'null'
minLength: 1
maxLength: 22
pattern: ^[\x20-\x7E]+$
description: 'The display name of the ACH account.
Pattern: Alphanumeric string, max 22 characters
Example: `"Checking account"`'
example: Checking account
type:
type:
- string
- 'null'
enum:
- C
- S
- M
description: 'Type of the external bank account:
* `C` — Checking
* `S` — Savings
* `M` — Money market
Pattern: String
Example: `"C"`'
example: C
achAccountNo:
type:
- string
- 'null'
pattern: ^[0-9]{1,22}\Z
description: 'External bank account number.
Pattern: Max 22 digits
Example: `"4483434234348"`'
example: '4483434234348'
achRoutingNo:
type:
- string
- 'null'
description: 'Routing number for the external bank where `achAccountNo` is housed.
Pattern: 9-digit routing number, including check digit
Example: `"124001545"`'
example: '124001545'
entityType:
type:
- string
- 'null'
enum:
- I
- C
description: 'Specifies the type of ACH account to modify: individual (`I`) or company (`C`). `C` is valid only when BTBPG is set at the program level and when the ACH account was created using the Add ACH Account Corporate endpoint. When this value is `I` then `firstName` and `lastName` are **required**. When this value is `C` then `companyName` is **required**.
Pattern: String
Example: `"C"`'
example: C
firstName:
type:
- string
- 'null'
minLength: 1
maxLength: 40
pattern: ^[\x20-\x7E]+$
description: '**Required** when `entityType: I`. First name(s) of the external account holder. Only the first 9 characters of this field are present in the outgoing <>.
Pattern: 1–40 alphanumeric characters
Example: `"Maricela Elena"`'
example: Maricela Elena
lastName:
type:
- string
- 'null'
minLength: 1
maxLength: 40
pattern: ^[\x20-\x7E]+$
description: '**Required** when `entityType: I`. Last name(s) of the external account holder. Only the first 12 characters of this field are present in the outgoing Nacha file.
Pattern: 1–40 alphanumeric characters
Example: `"Garcia Castro"`'
example: Garcia Castro
companyName:
type:
- string
- 'null'
minLength: 1
maxLength: 40
pattern: ^[\x20-\x7E]+$
description: '**Required** when `entityType: C`. Name of the company that holds the external account. Keep in mind that only the first 22 characters of this name will be present in the outgoing <>.
Pattern: 1–40 alphanumeric characters
Example: `"Mountain Star Utilities"`'
example: Mountain Star Utilities
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
required:
- accountNo
- achAccountId
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
summary: Modify ACH Account
parameters: []
description: 'Use the Modify ACH Account endpoint to change an existing ACH account''s information. You can add the same ACH account to multiple customer accounts, but you cannot add the same ACH account to the same customer account multiple times.
For instructions on using this endpoint see Modifying ACH Accounts in the *ACH Endpoints* guide.'
operationId: post_modifyachaccount
/addAchAccount:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
responses:
default:
description: ''
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:
ach_account_id:
type: string
description: A unique ID for an ACH account
plaid_identity_values:
description: A dictionary of values that are returned by Plaid. Set RPVIR to receive this object.
type: object
properties:
emails:
type:
- array
- 'null'
description: Encrypted identity email(s) from Plaid
items:
type: string
names:
type:
- array
- 'null'
description: Encrypted identity name(s) from Plaid
items:
type: string
phones:
type:
- array
- 'null'
description: Encrypted identity phone number(s) from Plaid
items:
type: string
zip_codes:
type:
- array
- 'null'
description: Encrypted identity Zip code(s) from Plaid
items:
type: string
required:
- ach_account_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.04,\n \"response_data\": {\n \"ach_account_id\": \"342\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"ZRHZOYBGKDNG8SNEIH98\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:40:32\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.036\n \n 342\n \n \n \n \n VDJC9QR6HILM2DIOB5ZS\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:34:05\n"
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
name:
type:
- string
- 'null'
minLength: 1
maxLength: 22
pattern: ^[\x20-\x7E]+$
description: 'The display name of the external account. This field is required unless `processorToken` is populated.
Pattern: 1–22 supported characters
Example: `"Yellowbank account"`'
example: Yellowbank account
type:
type:
- string
- 'null'
enum:
- C
- S
- M
description: 'Type of the external bank account. **Required** when `processorToken` is not populated:
* `C` — Checking
* `S` — Savings
* `M` — Money market
Pattern: String
Example: `"C"`'
example: C
achAccountNo:
type:
- string
- 'null'
pattern: ^[0-9]{1,22}(?!\n|\r)$
description: 'External bank account number. **Required** when `processorToken` is not populated.
Pattern: Up to 22 numerals
Example: `"4483434234348"`'
example: '4483434234348'
achRoutingNo:
type:
- string
- 'null'
description: 'Routing number for the external bank where `achAccountNo` is housed. **Required** when `processorToken` is not populated.
Pattern: Exactly 9 digits
Example: `"124001545"`'
example: '124001545'
firstName:
type:
- string
- 'null'
minLength: 1
maxLength: 40
pattern: ^[\x20-\x7E]+$
description: '**Required**. First name(s) of the external account holder. Only the first 9 characters of this field are present in the outgoing <>.
Pattern: 1–40 supported characters
Example: `"Maricela Elena"`'
example: Maricela Elena
lastName:
type:
- string
- 'null'
minLength: 1
maxLength: 40
pattern: ^[\x20-\x7E]+$
description: '**Required**. Last name(s) of the external account holder. Only the first 12 characters of this field are present in the outgoing Nacha file.
Pattern: 1–40 supported characters
Example: `"Garcia Castro"`'
example: Garcia Castro
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
processorToken:
type:
- string
- 'null'
description: 'Obtained from Plaid if using Plaid integration. When passing this token it is not necessary to pass `achAccountNumber`, `achRoutingNumber`, `name`, or `type`. If you are not using Plaid, do not send this parameter with an empty or `null` value.
Pattern: String
Example: `"processor-production-35cd43b-adfc-d8aa-b331-c9ba0fdha881"`'
example: processor-production-35cd43b-adfc-d8aa-b331-c9ba0fdha881
verifyIdentity:
type: integer
format: int32
default: 0
enum:
- 0
- 1
description: 'If `processorToken` is populated, pass `1` to call the Plaid identity endpoint for account-holder verification.
Pattern: Integer
Example: `0`'
example: 0
required:
- accountNo
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
summary: Add ACH Account
parameters: []
description: Use the Add ACH Account endpoint to add an ACH account to the specified customer account. If you are integrated with Plaid, set the RPVIR parameter to `1` to receive `plaid_identity_values` in the response. Use this endpoint to add external accounts that belong to individuals. For accounts that belong to companies, use the Add ACH Account Corporate endpoint.
operationId: post_addachaccount
/removeAchAccount:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
responses:
default:
description: ''
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:
ach_account_id:
type: string
description: ID assigned to ACH account
required:
- ach_account_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.359,\n \"response_data\": {\n \"ach_account_id\": \"205716\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"bf5408f0-45bc-4bd4-b7c3-e8cbdbbe869e\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 15:00:02\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.022\n \n 205716\n \n \n \n \n d692ea83-2f58-49c2-bde2-d55e04556244\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 15:00:03\n"
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
achAccountId:
type: integer
format: int32
minimum: 1
description: 'ACH account identifier (`ach_account_id`), as returned by Add ACH Account or Get ACH Accounts.
Pattern: Positive integer
Example: `354656`'
example: 354656
required:
- accountNo
- achAccountId
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
summary: Remove ACH Account
parameters: []
description: 'Use the Remove ACH Account endpoint to delete an ACH account from the specified customer account.
For more information on this endpoint see Removing an ACH account in the *ACH Endpoints* guide.'
operationId: post_removeachaccount
/cancelAchTransaction:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
responses:
default:
description: ''
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:
balance:
type: number
format: float
description: The current available balance
required:
- balance
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.035,\n \"response_data\": {\n \"balance\": \"342.2\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"WVNMEMSNQX7CQ4K28RPB\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-14 13:53:29\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 2025-07-14 13:53:29\n \n 342.2\n \n 0.035\n \n WVNMEMSNQX7CQ4K28RPB\n \n \n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n"
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
achTransactionId:
type: integer
format: int32
minimum: 1
maximum: 9999999999
description: 'ACH transaction identifier (`ach_transaction_id`) of the transaction to cancel, as returned by Create ACH Transaction.
Pattern: Positive integer
Example: `34890348`'
example: 34890348
required:
- accountNo
- achTransactionId
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
summary: Cancel ACH Transaction
parameters: []
description: 'Use the Cancel ACH Transaction endpoint to cancel a transaction that you created with the Create ACH Transaction endpoint. You cannot cancel the ACH transaction after the ACH binaries have processed it.
For more information on this endpoint see Canceling an ACH transaction in the *ACH Endpoints* guide.'
operationId: post_cancelachtransaction
/getAchTransHistory:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
responses:
default:
description: ''
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:
found:
type: integer
format: int32
description: The number of transactions found
transactions:
type: array
description: List of transactions
items:
type: object
properties:
reject_code:
type:
- string
- 'null'
description: The ACH return code.
ach_account_id:
type:
- string
- 'null'
description: ID for the account as created by Add ACH Account [Corporate]
status:
type: string
description: Status of the transaction. See ACH Transaction Statuses.
pmt_ref_no:
type: string
description: A system-generated account number
date:
type:
- string
- 'null'
description: 'The datetime for the transaction. In the format: `yyyy-mm-dd hh:mm:ss`.'
ach_transaction_id:
type:
- string
- 'null'
description: A unique ID for an ACH transaction
description:
type:
- string
- 'null'
description: Description for the transaction
ach_account_no:
type: string
description: Account number of the external account. May be masked depending on configuration.
name:
type:
- string
- 'null'
description: Name of account associated with the transaction
ach_routing_no:
type: string
description: ACH routing number
debit_credit_indicator:
type: string
description: Whether the transaction credited (`C`) or debited (`D`) the receiving account.
amount:
type:
- string
- 'null'
description: Transaction amount
required:
- ach_account_id
- ach_account_no
- ach_routing_no
- ach_transaction_id
- amount
- date
- debit_credit_indicator
- description
- name
- pmt_ref_no
- reject_code
- status
required:
- found
- transactions
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.403,\n \"response_data\": {\n \"found\": 3,\n \"transactions\": [\n {\n \"pmt_ref_no\": \"005461520202\",\n \"ach_transaction_id\": \"421268\",\n \"date\": \"2025-07-14 14:05:17\",\n \"amount\": \"484.08\",\n \"status\": \"N\",\n \"name\": \"test_get_ach_trans_his\",\n \"ach_account_no\": \"578782889343579\",\n \"ach_routing_no\": \"708181865\",\n \"description\": null,\n \"debit_credit_indicator\": \"D\",\n \"reject_code\": null,\n \"ach_account_id\": \"205695\"\n },\n {\n \"pmt_ref_no\": \"005461520202\",\n \"ach_transaction_id\": \"421267\",\n \"date\": \"2025-07-14 14:04:05\",\n \"amount\": \"373.74\",\n \"status\": \"N\",\n \"name\": \"test_get_ach_trans_his\",\n \"ach_account_no\": \"578782889343579\",\n \"ach_routing_no\": \"708181865\",\n \"description\": null,\n \"debit_credit_indicator\": \"C\",\n \"reject_code\": null,\n \"ach_account_id\": \"205695\"\n },\n {\n \"pmt_ref_no\": \"005461521202\",\n \"ach_transaction_id\": \"421269\",\n \"date\": \"2025-07-14 13:55:13\",\n \"amount\": \"335.26\",\n \"status\": \"N\",\n \"name\": \"test_get_ach_trans_his\",\n \"ach_account_no\": \"436278042809310\",\n \"ach_routing_no\": \"967554877\",\n \"description\": null,\n \"debit_credit_indicator\": \"C\",\n \"reject_code\": null,\n \"ach_account_id\": \"205696\"\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"23b2e75b-2da3-4915-83a3-04e709fcf979\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 14:10:59\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.022\n \n 3\n \n \n 005461520202\n 421268\n 2025-07-14 14:05:17\n 484.08\n N\n test_get_ach_trans_his\n 578782889343579\n 708181865\n \n D\n \n 205695\n \n \n 005461520202\n 421267\n 2025-07-14 14:04:05\n 373.74\n N\n test_get_ach_trans_his\n 578782889343579\n 708181865\n \n C\n \n 205695\n \n \n 005461521202\n 421269\n 2025-07-14 13:55:13\n 335.26\n N\n test_get_ach_trans_his\n 436278042809310\n 967554877\n \n C\n \n 205696\n \n \n \n \n \n \n e85588f3-77a2-4f45-a691-45caac22f609\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 14:11:00\n"
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
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`. Max 1098 days (~3 years) after `startDate`.
Pattern: YYYY-MM-DD or YYYY-MM-DD hh:mm:ss
Example: `"2016-01-01"`'
example: '2016-01-01'
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`). \n- `0` or _blank_ — Retrieve only the transactions from the specified account.\n- `1` — Retrieve all transactions with the same `client_id`.\n\nPattern: Boolean\nExample: `1` "
example: 1
recordCnt:
type:
- integer
- 'null'
format: int32
minimum: 1
maximum: 500
description: 'The maximum number of records per page to be returned.
Pattern: Integer
Example: `100`'
example: 100
required:
- accountNo
- endDate
- startDate
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
summary: Get ACH Transaction History
parameters: []
description: Use the Get ACH Transaction History endpoint to retrieve the ACH transaction history for the specified customer account. This endpoint retrieves **outgoing** ACH transactions only.
operationId: post_getachtranshistory
/addAchAccountCorporate:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
responses:
default:
description: ''
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:
ach_account_id:
type: string
description: A unique ID for an ACH account
plaid_identity_values:
description: A dictionary of values that are returned by Plaid. Set RPVIR to receive this object.
type: object
properties:
emails:
type:
- array
- 'null'
description: Encrypted identity email(s) from Plaid
items:
type: string
names:
type:
- array
- 'null'
description: Encrypted identity name(s) from Plaid
items:
type: string
phones:
type:
- array
- 'null'
description: Encrypted identity phone number(s) from Plaid
items:
type: string
zip_codes:
type:
- array
- 'null'
description: Encrypted identity Zip code(s) from Plaid
items:
type: string
required:
- ach_account_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.05,\n \"response_data\": {\n \"ach_account_id\": \"3452\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"KZRNEIH9ZOYBG8HDNG8S\"\n },\n \"rtoken\": \"7cc1e06d-3fba-1e5c-898a-2c08f778fce6\",\n \"system_timestamp\": \"2025-07-11 11:40:28\"\n}\n"
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
name:
type:
- string
- 'null'
minLength: 1
maxLength: 22
pattern: ^[\x20-\x7E]+$
description: 'The display name of the external account. This field is **required** unless `processorToken` is populated.
Pattern: 1–22 supported characters
Example: `"Tealbank account"`'
example: Tealbank account
type:
type:
- string
- 'null'
enum:
- C
- S
- M
description: 'Type of the external bank account:
* `C` — Checking
* `S` — Savings
* `M` — Money market
Pattern: String
Example: `"C"`'
example: C
achAccountNo:
type:
- string
- 'null'
pattern: ^[0-9]{1,22}(?!\n|\r)$
description: 'External bank account number.
Pattern: Up to 22 numerals
Example: `"4483434234348"`'
example: '4483434234348'
achRoutingNo:
type:
- string
- 'null'
description: "Routing number for the external bank where `achAccountNo` is housed. \nPattern: Exactly 9 digits\nExample: `\"124001545\"`"
example: '124001545'
companyName:
type:
- string
- 'null'
minLength: 1
maxLength: 40
pattern: ^[\x20-\x7E]+$
description: "**Required.** Name of the company that holds the external account. Only the first 22 characters of this string will be present in the outgoing <>. The contents of this field are populated differently in the **Entry Detail Record** of the Nacha file according to the <> of the transaction:\n* `CCD` — **Receiving Company Name** field\n* `PPD` — **Individual Name** field \n\nPattern: 1–40 supported characters\nExample: `\"Mountain Star Utilities\"`"
example: Mountain Star Utilities
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
processorToken:
type:
- string
- 'null'
description: 'Obtained from Plaid if using Plaid integration. When passing this token it is not necessary to pass `achAccountNumber`, `achRoutingNumber`, `name`, or `type`. If you are not using Plaid, do not send this parameter with an empty or `null` value.
Pattern: String
Example: `"processor-production-35cd43b-adfc-d8aa-b331-c9ba0fdha881"`'
example: processor-production-35cd43b-adfc-d8aa-b331-c9ba0fdha881
verifyIdentity:
type: integer
format: int32
default: 0
enum:
- 0
- 1
description: 'If `processorToken` is populated, pass `1` to call the Plaid identity endpoint for account-holder verification.
Pattern: Integer
Example: `0`'
example: 0
required:
- accountNo
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
summary: Add ACH Account Corporate
parameters: []
description: Use the Add ACH Account Corporate endpoint to add an ACH corporate account to the specified customer account. If you are integrated with Plaid, set the RPVIR parameter to `1` to receive `plaid_identity_values` in the response. Use this endpoint to add external accounts that belong to companies. For ACH accounts that belong to individuals, use the Add ACH Account endpoint.
operationId: post_addachaccountcorporate
/createHold:
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:
new_balance:
type: number
description: The balance on the account after the transaction
hold_id:
type: integer
format: int32
description: The ID associated with the hold
required:
- hold_id
- new_balance
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\": 1.492,\n \"response_data\": {\n \"new_balance\": -31386,\n \"hold_id\": \"1049\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"640ABEGWMSSW6WCPPC5M\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-14 14:04:40\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 2025-02-27 17:33:08\n \n 2.79\n 453434\n \n 0.628\n \n 42562386\n GAAP test\n 2025-02-27 17:32:36\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n"
description: ''
parameters: []
summary: Create Hold
description: 'Use the Create Hold endpoint to create a hold (reserve) on an amount of funds for a specified payment, or to create a hold on an account in general. This endpoint supports remote deposit capture (RDC).
To create a hold on a specific payment you must pass `amount` and `pmtId`. The default hold limit is 1 000 000. You can override this limit with the MXHLD program parameter.
To create a hold on an account, your program parameters (THOLD) must specify that an account hold is valid for the `holdType` parameter.
This endpoint does not create authorization holds on an account for card-association transactions — such holds are created automatically when an authorization request is approved.'
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
amount:
type: number
format: float
minimum: 0.01
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.5
expirationDateTime:
type: string
format: date-time
description: 'Date and time when the hold expires.
Pattern: YYYY-MM-DD hh:mm:ss
Example: `"2017-01-01 13:00:00"`'
example: '2017-01-01 13:00:00'
pmtId:
type:
- integer
- 'null'
format: int32
minimum: 1
maximum: 9999999999
description: 'The ID of the payment to hold: `payment_trans_id` as returned by the Create Payment endpoint or `pmt_id` as returned by the Get Payment History endpoint.
Pattern: Positive integer
Example: `4234888`'
example: 4234888
holdType:
type:
- string
- 'null'
pattern: ^([\w\W\s\d]{1,4})$
description: 'Transaction type for the hold. Use the values provided by SoFi Tech Solutions for your program.
Pattern: 2 alphanumeric characters
Example: `"MO"`'
example: MO
description:
type:
- string
- 'null'
pattern: ^([\w\W\s\d]{1,80})$
description: 'Description for the hold.
Pattern: Max 80 alphanumeric characters, including punctuation
Example: `"One time payroll load."`'
example: One time payroll load.
externalId:
type:
- string
- 'null'
pattern: ^[\w\W\s\d]{1,60}$
description: 'External identifier for a hold.
Pattern: Max 60 alphanumeric characters
Example: `"45348bacd483348"`'
example: 45348bacd483348
required:
- accountNo
- amount
- expirationDateTime
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
operationId: post_createhold
/expireHold:
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: Either an element named 'new_expiration_date' if the purpose of the request was to change the expiry_dt or an element named 'new_balance' if the hold is being expired by this request.
type:
- object
- 'null'
properties:
new_balance:
type: number
description: The balance on the account after the transaction
new_expiration_date:
type: string
format: date-time
description: The new expiration date associated with the hold
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.411,\n \"response_data\": {\n \"new_balance\": 20200\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"cc774d9f-acbe-4483-9a65-942c00b6966a\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 14:04:08\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.019\n \n 20400\n \n \n \n \n 87a3f8b7-28f2-44f8-9e7f-d15525253aa1\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 14:04:08\n"
description: ''
parameters: []
summary: Expire Hold
description: Use the Expire Hold endpoint to expire a funds hold that was created with the Create Hold endpoint. This endpoint does not expire any other kind of hold.
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
holdId:
type:
- integer
- 'null'
format: int32
description: 'Hold ID (`hold_id`) as returned by the Create Hold or Get Hold History endpoint.
Pattern: Positive integer
Example: `453434`'
example: 453434
expirationDateTime:
type:
- string
- 'null'
format: date-time
description: 'Date and time to expire the hold. Must be a date-time in the future. Leave this parameter empty to expire the hold immediately.
Pattern: YYYY-MM-DD hh:mm:ss
Example: `"2017-01-01 13:00:00"`'
example: '2017-01-01 13:00:00'
required:
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
operationId: post_expirehold
/createPayment:
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
- 'null'
items:
type:
- string
- 'null'
description: ''
response_data:
description: A structure for the response data. It can be empty but usually will contain information.
type:
- object
- 'null'
properties:
old_balance:
type: number
description: The balance on the account before the transaction
new_balance:
type: number
description: The balance on the account after the transaction
fee_amount:
type: string
description: Payment fee amount. May return an integer if the fee amount is 0.
payment_trans_id:
type: integer
format: int32
description: System-generated payment ID, also called the `pmt_id`.
transaction_id:
type: string
description: Echo of the `transactionId` passed in the endpoint request.
hold_id:
type: integer
format: int32
description: Identifier for the hold. Use the Expire Hold endpoint to expire the hold before the time in `holdExpirationDateTime`.
required:
- fee_amount
- hold_id
- new_balance
- old_balance
- payment_trans_id
- transaction_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.294,\n \"response_data\": {\n \"old_balance\": 10,\n \"new_balance\": 20,\n \"fee_amount\": \"1.25\",\n \"payment_trans_id\": 4161958,\n \"transaction_id\": \"IZR2F4PE03CJU54SPKFT\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"IZR2F4PE03CJU54SPKFT\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:47:48\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.222\n \n 1213.65\n 1223.65\n 1.25 \n 4162210\n C601I5KD7K7KWT0O8FHG\n \n \n \n \n C601I5KD7K7KWT0O8FHG\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:42:57\n"
description: ''
parameters: []
summary: Create Payment
description: 'Use the Create Payment endpoint to move funds into a customer account. This endpoint may return load limit and velocity violations in its response. Payments created with this endpoint are returned by the Get Account Overview endpoint only after several seconds have elapsed.
#### Load limit and velocity response
If the payment violates load or velocity limits, this endpoint returns `status: 26` with `limit_error`, `limit_id`, and `limit_response_code` values. Use the `limit_id` for troubleshooting the load and velocity configuration. The `limit_response_code` values are enumerated in the Limit Response Codes table.
Consult the Creating a Payment guide for instructions on using this endpoint.'
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
amount:
type: number
format: float
description: 'Currency amount as a whole or decimal amount.
Pattern: Positive integer or decimal number
Example: `100.00`, `100`, or `100.73`'
example: 25.5
type:
type: string
pattern: ^[a-zA-Z0-9]{1,2}$
description: 'The transaction type (otype) for the payment. Use the values provided by SoFi Tech Solutions for your program.
Pattern: 2-character alphanumeric
Example: `"RL"`'
description:
type:
- string
- 'null'
pattern: ^([\w\W\s\d]{1,40})$
description: 'Description for the transaction. If `type` is an otype that was custom-configured for your program, the description for that otype might override the description you provide here, depending on your setup with SoFi Tech Solutions.
Pattern: 1–40 alphanumeric characters, including punctuation
Example: `"One-time payroll load."`'
example: One-time payroll load.
location:
type:
- string
- 'null'
pattern: ^([a-zA-Z0-9]{1,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
format: int32
default: 0
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: `0`'
example: 0
providerAssessedFee:
type:
- number
- 'null'
format: float
minimum: -1.0e-05
maximum: 999999999999.99
description: 'Fee amount assessed by the provider. This value is passed to SoFi Tech Solutions only for informational purposes; passing this value does not assess the fee.
Pattern: Monetary amount greater than 0.
Example: `2.50`'
example: 2.5
verifyOnly:
type:
- integer
- 'null'
format: int32
enum:
- 0
- 1
description: 'Pass `1` to test the endpoint data without creating a transaction.
Pattern: Integer
Example: `0`'
example: 0
merchantId:
type:
- string
- 'null'
maxLength: 50
description: '**Load partners only.** Identifier for the merchant that loaded the card.
Pattern: Max 50 alphanumeric characters
Example: `"R12573L123"`'
partner:
type:
- string
- 'null'
maxLength: 50
pattern: ^[a-zA-Z0-9áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸåÅøØæÆœŒßçÇšžŠŽþðÞÐ '.,?#~*+@!()_;&-]+$
description: '**Load partners only.** Partner providing the load request.
Pattern: Max 50 alphanumeric and international characters
Example: `"CardLoader Inc"`'
retailChain:
type:
- string
- 'null'
maxLength: 50
pattern: ^[a-zA-Z0-9áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸåÅøØæÆœŒßçÇšžŠŽþðÞÐ '.,?#~*+@!()_;&-]+$
description: '**Load partners only.** Name of the retail chain where the card was loaded.
Pattern: Max 50 alphanumeric international characters
Example: `"GroceryMart"`'
retailSaleTransactionKey:
type:
- string
- 'null'
maxLength: 50
description: '**Load partners only.** Identifier for the retail load transaction.
Pattern: Max 50 alphanumeric characters
Example: `"12345abcdef"`'
storeAddress1:
type:
- string
- 'null'
pattern: ^[a-zA-Z0-9áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸåÅøØæÆœŒßçÇšžŠŽþðÞÐ '\".,_`?!@$%#=~/\\|-]+$
description: '**Load partners only.** First line of the retail store address where the card was loaded.
Pattern: 4–40 alphanumeric international characters plus address symbols.
Example: `123 Elm St`'
storeAddress2:
type:
- string
- 'null'
pattern: ^[a-zA-Z0-9áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸåÅøØæÆœŒßçÇšžŠŽþðÞÐ '\".,_`?!@$%#=~/\\|-]+$
description: '**Load partners only.** Second line of the retail store address where the card was loaded.
Pattern: Max 30 alphanumeric international characters plus address symbols
Example: `Ste 700`'
storeCounty:
type:
- string
- 'null'
maxLength: 50
description: '**Load partners only.** The country where the store is located. Three-digit UN M49 code, such as `840` for USA, `124` for Canada, `484` for Mexico, `170` for Colombia.
Pattern: 3-digit numeric string
Example: `840`'
storeLatitude:
type:
- string
- 'null'
pattern: ^([-+]?[0-9]{1,2}[.][0-9]+)$
description: '**Load partners only.** Latitude for the retail store where the card was loaded.
Pattern: Positive or negative float, no limit on decimal places
Example: `40.57297941556069`'
storeLongitude:
type:
- string
- 'null'
pattern: ^([-+]?[0-9]{1,3}[.]\d+)$
description: '**Load partners only.** Longitude for the retail store where the card was loaded.
Pattern: Positive or negative float, no limit on decimal places
Example: `-111.89920138637734`'
storeName:
type:
- string
- 'null'
maxLength: 50
pattern: ^[a-zA-Z0-9áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸåÅøØæÆœŒßçÇšžŠŽþðÞÐ '.,?#~*+@!()_;&-]+$
description: '**Load partners only.** Name of the retail store where the card was loaded.
Pattern: Max 50 alphanumeric and international characters.
Example: `"Main Street GroceryMart"`'
storeNumber:
type:
- string
- 'null'
maxLength: 50
description: '**Load partners only.** Identifier for the retail store where the card was loaded.
Pattern: Max 50 alphanumeric international characters
Example: `"13459284"`'
storeTransactionDate:
type:
- string
- 'null'
format: date-time
description: '**Load partners only.** Date that the card was loaded.
Pattern: YYYY-MM-DD hh:mm:ss
Example: `2021-11-14 13:23:04`'
storeCity:
type:
- string
- 'null'
pattern: ^[a-zA-Z0-9áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸåÅøØæÆœŒßçÇšžŠŽþðÞÐ '.,_@-]+$
description: '**Load partners only.** City for the retail store where the card was loaded.
Pattern: Max 30 alphanumeric and international characters plus city symbols
Example: `Salt Lake City`'
storeState:
type:
- string
- 'null'
minLength: 2
maxLength: 2
pattern: ^[a-zA-ZáéíóúÁÉÍÓÚàèìòùÀÈÌÒÙâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸåÅøØæÆœŒßçÇšžŠŽþðÞÐ]+$
description: '**Load partners only.** State or province for the retail store where the card was loaded.
Pattern: 2 ASCII letters or international characters
Example: `UT`'
storeZipCode:
type:
- string
- 'null'
minLength: 5
maxLength: 10
pattern: ^[a-zA-Z0-9\-\ ]*$
description: '**Load partners only.** Zip code for the retail store where the card was loaded.
Pattern: `12345`, `12345-1234`, or `K1A-1A1`
Example: `"84121"`'
example: '84121'
holdAmount:
type:
- number
- 'null'
format: float
minimum: 0.01
maximum: 999999999999.99
description: 'Amount to hold. To hold the entire payment amount, pass the same value as in `amount`.
Pattern: Positive integer or decimal number
Example: `100.00`, `100`, or `100.73`'
example: 25.5
holdExpirationDateTime:
type:
- string
- 'null'
format: date-time
description: 'Date-time to expire the hold.
Pattern: YYYY-MM-DD hh:mm:ss
Example: `2021-11-14 13:23:04`'
example: '2017-01-01 13:00:00'
holdDescription:
type:
- string
- 'null'
pattern: ^([\w\W\s\d]{1,80})$
description: 'Description for the hold.
Pattern: Max 80 alphanumeric characters, including punctuation
Example: `"One time payroll load."`'
example: One time payroll load.
holdExternalId:
type:
- string
- 'null'
pattern: ^[\w\W\s\d]{1,60}$
description: 'External identifier for a hold.
Pattern: Max 60 alphanumeric characters
Example: `"45348bacd483348"`'
example: 45348bacd483348
referenceId:
type:
- string
- 'null'
pattern: ^[\w\W\s\d]{1,35}$
description: 'Network identifier for <> payments.
Pattern: Max 35 alphanumeric characters
Example: `"20230805021000021P1BRJPM00040034610"`'
example: 20230805021000021P1BRJPM00040034610
originatorName:
type:
- string
- 'null'
maxLength: 140
description: 'Debtor (individual or company) name for RTP payments.
Pattern: Max 140 characters
Example: `"John Doe"`'
example: John Doe
receiverName:
type:
- string
- 'null'
maxLength: 140
description: 'Creditor (individual or company) name for RTP payments.
Pattern: Max 140 characters
Example: `"Jane Smith"`'
example: Jane Smith
required:
- accountNo
- amount
- transactionId
- type
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
operationId: post_createpayment
/assessFee:
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:
old_balance:
type: number
description: The balance on the account before the reversal is processed
new_balance:
type: number
description: The balance on the account after the reversal is processed
fee_amount:
type: number
description: Numeric amount of the fee
transaction_id:
type: string
description: A number that represents transaction
fee_trans_id:
type: integer
format: int32
description: DEPRECATED field. Refer to `fee_id` and `fee_event_id` instead.
fee_id:
type: integer
format: int32
description: Fee transaction identifier (generated when the fee is assessed)
fee_event_id:
type: integer
format: int32
description: Fee event identifier (generated when the fee is assessed)
required:
- fee_amount
- fee_event_id
- fee_id
- fee_trans_id
- new_balance
- old_balance
- transaction_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.26,\n \"response_data\": {\n \"old_balance\": 1208.2,\n \"new_balance\": 1206.25,\n \"fee_amount\": \"1.95\",\n \"transaction_id\": \"UWFIDV5YSUVTP88P5PH2\",\n \"fee_id\": \"12312321\",\n \"fee_event_id\": \"321321321\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"UWFIDV5YSUVTP88P5PH2\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:47:14\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.093\n \n 1165.6\n 1163.65\n 1.95\n 1S9AU486PI1W4JAOR4F4\n 12312321\n 321321321\n \n \n \n \n 1S9AU486PI1W4JAOR4F4\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:42:54\n"
description: ''
parameters: []
summary: Assess Fee
description: Use the Assess Fee endpoint to charge a fee to the specified account. The fee `type` parameter values must already be registered in the system for your program.
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
type:
type: string
pattern: ^([a-zA-Z0-9]{1,3})$
description: 'Three-character fee code. Consult the curated list of fees that SoFi Tech Solutions provided you. Do not use the numeric otype.
Pattern: 1-4 alphanumeric characters
Example: `"C2C"`'
example: '2'
transAmount:
type:
- number
- 'null'
format: float
default: 0
minimum: 0
maximum: 999999999999.99
description: 'The amount of the transaction on which to assess the fee, if the fee is a percentage of the transaction. Pass a currency amount as a whole or decimal amount.
Pattern: Positive integer or decimal amount.
Example: `100.00`, `100` or `100.73`'
example: 25.99
amount:
type:
- number
- 'null'
format: float
default: 0
minimum: 0.01
maximum: 999999999999.99
description: 'Amount of the fee to assess, if the fee is a flat fee. Pass a currency amount as a whole or decimal amount.
Pattern: Positive integer or decimal amount
Example: `100.00`, `100` or `100.73`'
example: 25.5
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
required:
- accountNo
- transactionId
- type
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
operationId: post_assessfee
/reverseFee:
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:
old_balance:
type: number
description: The balance on the account before the reversal is processed
new_balance:
type: number
description: The balance on the account after the reversal is processed
transaction_id:
type: string
description: A number that represents transaction
fee_trans_id:
type: integer
format: int32
description: DEPRECATED field. Refer to `fee_id` and `fee_event_id` instead.
fee_id:
type: integer
format: int32
description: Fee transaction identifier (generated when the fee is assessed)
fee_event_id:
type: integer
format: int32
description: Fee event identifier (generated when the fee is assessed)
reversed_fee_id:
type: integer
format: int32
description: The `fee_id` of the fee that was reversed
reversed_fee_event_id:
type: integer
format: int32
description: The `fee_event_id` of the fee that was reversed
required:
- fee_event_id
- fee_id
- fee_trans_id
- new_balance
- old_balance
- reversed_fee_event_id
- reversed_fee_id
- transaction_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.181,\n \"response_data\": {\n \"old_balance\": 1192.75,\n \"new_balance\": 1194.7,\n \"fee_amount\":5,\n \"transaction_id\": \"8U6ULK66X4RTYJIN73W9\",\n \"fee_id\": \"12312321\",\n \"fee_event_id\": \"321321321\",\n \"reversed_fee_id\": \"12312321\",\n \"reversed_fee_event_id\": \"321321321\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"8U6ULK66X4RTYJIN73W9\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:48:18\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 2025-07-13 10:48:18\n \n 1192.75\n 1194.7\n 5\n 8U6ULK66X4RTYJIN73W9\n 12312321\n 321321321\n 12312321\n 321321321\n \n 1.378\n \n 8U6ULK66X4RTYJIN73W9\n \n \n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n"
description: ''
parameters: []
summary: Reverse Fee
description: 'Use the Reverse Fee endpoint to reverse out a fee that was created with the Assess Fee endpoint or created elsewhere in the system.
If the fee was created with Assess Fee, pass the `transactionId` of the endpoint request to be reversed instead of passing a new value. If the fee was not created by Assess Fee, pass `feeId`, which you can retrieve with the Get Fee History endpoint.'
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
feeId:
type:
- integer
- 'null'
format: int32
description: The fee ID (`fee_id`) of the fee to reverse, as returned by the Get Fee History endpoint. Pass this value only if the fee was *not* created by the Assess Fee endpoint.
verifyOnly:
type:
- string
- 'null'
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'
required:
- accountNo
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
operationId: post_reversefee
/createAdjustment:
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:
old_balance:
type: number
description: The balance on the account before the transaction
new_balance:
type: number
description: The balance on the account after the transaction
adjustment_trans_id:
type: integer
format: int32
description: System-generated adjustment transaction ID
transaction_id:
type: string
description: A number that represents transaction
required:
- adjustment_trans_id
- new_balance
- old_balance
- transaction_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.1671297550201416,\n \"response_data\": {\n \"old_balance\": 10,\n \"new_balance\": 5,\n \"adjustment_trans_id\": 57914,\n \"transaction_id\": \"25570855\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"25570855\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:47:34\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.061260223388671875\n \n 1186.2\n 1181.2\n 57937\n 69412757\n \n \n \n \n 69412757\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:42:52\n"
description: ''
parameters: []
summary: Create Adjustment
description: 'Use the Create Adjustment endpoint to move funds into or out of a customer account. Transactions using this endpoint are returned by the Get Account Overview endpoint only after several seconds have elapsed. To drive an account negative using this endpoint, set the ALWNB parameter at the *provider* level.
[block:callout]
{
"type": "warning",
"title": "Warning",
"body": "This endpoint requires a positive integer less than 9223372036854775807 (sys.maxint in Python 2 or sys.maxsize in Python 3) for `transactionId` rather than the alphanumeric string that all other endpoints use. The Reverse Adjustment endpoint uses this integer to identify the transaction to reverse out."
}
[/block]'
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: integer
minimum: 1
maximum: 60
description: "A unique integer ID for the transaction. \nPattern: 64-byte integer\nExample: `164736451002`"
example: 164736451002
format: int64
accountNo:
type: string
pattern: ^$|^([0-9]{12}|[0-9]{16})$
description: "The <> or <> of the account.\nPattern: PAN or PRN \nExample: `\"074103447228\"`"
example: 074103447228
amount:
type: number
format: float
minimum: 0.01
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.5
type:
type: string
pattern: ^([a-zA-Z0-9]{1,2})$
description: 'The transaction type for the adjustment. Use the values provided by SoFi Tech Solutions for your program.
Pattern: 1- or 2-character alphanumeric, case-sensitive
Example: `"le"`'
description:
type:
- string
- 'null'
pattern: ^[\w\W\s\d]{1,80}$
description: 'Description for the transaction.
Pattern: 1–80 alphanumeric characters, including punctuation
Example: `"One time payroll load."`'
example: One time payroll load.
debitCreditIndicator:
type: string
enum:
- C
- D
description: 'Specifies whether this transaction credits or debits the account in `accountNo`:
* `C` — Credit
* `D` — Debit
Pattern: String
Example: `"D"`'
example: D
location:
type:
- string
- 'null'
pattern: ^([a-zA-Z0-9]{1,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: `0`'
example: 0
verifyOnly:
type:
- string
- 'null'
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
includeRtfTransfer:
type:
- string
- 'null'
enum:
- '0'
- '1'
description: "Specifies whether the `amount` in this transaction should be transferred to or from the RTF funding account that is associated with this RTF spending account. Default: `1`\n* `0` — Do not perform an RTF transfer for this amount\n* `1` — Perform an RTF transfer for this amount.\n\nPattern: Integer \nExample: `\"1\"` "
example: 0
disputeId:
type:
- string
- 'null'
maxLength: 16
pattern: ^([a-zA-Z0-9]{1,16})$
description: 'External dispute ID, to be used by dispute providers only.
Pattern: 1-16 alphanumeric characters
Example: "21010000000D"'
example: 21010000000D
enforceTransactionLimits:
type:
- integer
- 'null'
format: int32
enum:
- 0
- 1
description: 'Pass `1` to enforce any adjustment transaction limits.
Pattern: Integer
Example: `0`'
example: 0
required:
- accountNo
- amount
- debitCreditIndicator
- transactionId
- type
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
operationId: post_createadjustment
/reverseAdjustment:
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:
new_balance:
type: number
description: The balance on the account after the reversal is processed
old_balance:
type: number
description: The balance on the account before the reversal is processed
adjustment_trans_id:
type: integer
format: int32
description: System-generated adjustment transaction ID
transaction_id:
type: string
description: A number that represents transaction
required:
- adjustment_trans_id
- new_balance
- old_balance
- transaction_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.181,\n \"response_data\": {\n \"old_balance\": 1209.7,\n \"new_balance\": 1214.7,\n \"adjustment_trans_id\": 57921,\n \"transaction_id\": \"13771339\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"13771339\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:48:16\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 2025-07-13 10:48:16\n \n 1209.7\n 1214.7\n 57921\n 13771339\n \n 0.181\n \n 13771339\n \n \n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n"
description: ''
parameters: []
summary: Reverse Adjustment
description: Use the Reverse Adjustment endpoint to reverse out a transaction that was created with the Create Adjustment endpoint. Pass the `transactionId` of the endpoint request to be reversed instead of passing a new value.
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: integer
minimum: 1
maximum: 60
description: "A unique integer ID for the transaction. \nPattern: 64-byte integer\nExample: `164736451002`"
example: 164736451002
format: int64
accountNo:
type: string
pattern: ^$|^([0-9]{12}|[0-9]{16})$
description: "The <> or <> of the account.\nPattern: PAN or PRN \nExample: `\"074103447228\"`"
example: 074103447228
verifyOnly:
type:
- integer
- 'null'
format: int32
default: 0
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
required:
- accountNo
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
operationId: post_reverseadjustment
/getHoldHistory:
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:
active_holds:
type: array
description: List of active holds
items:
type: object
properties:
hold_id:
type: string
description: A unique ID for the hold to be expired
create_dt:
type:
- string
- 'null'
format: date-time
description: The date the hold was created
expiry_dt:
type:
- string
- 'null'
format: date-time
description: The date the hold will expire
source_id:
type:
- string
- 'null'
description: A code unique to the source of the activity (such as fees, adjustments, etc.)
change_dt:
type:
- string
- 'null'
format: date-time
description: The date the hold was last modified or created
hold_type:
type:
- string
- 'null'
description: The type of hold
ext_id:
type:
- string
- 'null'
description: An external identifier associate with the hold
dscr:
type:
- string
- 'null'
description: The description associated with the hold
originating_system_id:
type:
- string
- 'null'
description: The process that created the hold
agent_id:
type:
- string
- 'null'
description: The id for the agent that created the hold
amount:
type: number
description: The financial sum being held
xid:
type: string
description: The transaction ID associated with the hold
expiring_system_id:
type:
- string
- 'null'
description: The process that expired the hold
expiring_agent_id:
type:
- string
- 'null'
description: The id for the agent that expired the hold
required:
- agent_id
- amount
- change_dt
- create_dt
- dscr
- expiring_agent_id
- expiring_system_id
- expiry_dt
- ext_id
- hold_id
- hold_type
- originating_system_id
- source_id
- xid
expired_holds:
type: array
description: List of expired holds
items:
type: object
properties:
hold_id:
type: string
description: A unique ID for the hold to be expired
create_dt:
type:
- string
- 'null'
format: date-time
description: The date the hold was created
expiry_dt:
type:
- string
- 'null'
format: date-time
description: The date the hold will expire
source_id:
type:
- string
- 'null'
description: A code unique to the source of the activity (such as fees, adjustments, etc.)
change_dt:
type:
- string
- 'null'
format: date-time
description: The date the hold was last modified or created
hold_type:
type:
- string
- 'null'
description: The type of hold
ext_id:
type:
- string
- 'null'
description: An external identifier associate with the hold
dscr:
type:
- string
- 'null'
description: The description associated with the hold
originating_system_id:
type:
- string
- 'null'
description: The process that created the hold
agent_id:
type:
- string
- 'null'
description: The id for the agent that created the hold
amount:
type: number
description: The financial sum being held
xid:
type: string
description: The transaction ID associated with the hold
expiring_system_id:
type:
- string
- 'null'
description: The process that expired the hold
expiring_agent_id:
type:
- string
- 'null'
description: The id for the agent that expired the hold
required:
- agent_id
- amount
- change_dt
- create_dt
- dscr
- expiring_agent_id
- expiring_system_id
- expiry_dt
- ext_id
- hold_id
- hold_type
- originating_system_id
- source_id
- xid
required:
- active_holds
- expired_holds
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.404,\n \"response_data\": {\n \"active_holds\": [\n {\n \"hold_id\": \"21\",\n \"create_dt\": \"2025-07-15 14:33:26\",\n \"expiry_dt\": \"2025-07-25 14:33:26\",\n \"source_id\": \"1\",\n \"change_ts\": \"2025-07-15 14:33:26\",\n \"hold_type\": \"DE\",\n \"ext_id\": null,\n \"dscr\": null,\n \"originating_system_id\": \"API\",\n \"agent_id\": \"qAe5Tg-0026\",\n \"amount\": \"100\",\n \"xid\": \"5461537\",\n \"expiring_system_id\": null,\n \"expiring_agent_id\": null\n }\n ],\n \"expired_holds\": [\n {\n \"hold_id\": \"22\",\n \"create_dt\": \"2025-07-15 14:33:26\",\n \"expiry_dt\": \"2025-07-25 14:33:26\",\n \"source_id\": \"1\",\n \"change_ts\": \"2025-07-15 14:33:26\",\n \"hold_type\": \"DE\",\n \"ext_id\": null,\n \"dscr\": null,\n \"originating_system_id\": \"API\",\n \"agent_id\": \"qAe5Tg-0026\",\n \"amount\": \"100\",\n \"xid\": \"5461537\",\n \"expiring_system_id\": null,\n \"expiring_agent_id\": null\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"aadfb730-506b-4cef-b71a-becd67557bfb\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 14:33:27\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.024\n \n \n \n 21\n 2025-07-15 14:33:26\n 2025-07-25 14:33:26\n 1\n 2025-07-15 14:33:26\n DE\n \n \n API\n qAe5Tg-0026\n 100\n 5461537\n \n \n \n \n \n \n 22\n 2025-07-15 14:33:26\n 2025-07-25 14:33:26\n 1\n 2025-07-15 14:33:26\n DE\n \n \n API\n qAe5Tg-0026\n 100\n 5461537\n \n \n \n \n \n \n \n \n 0aff3451-5106-4375-8514-86eda3272021\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 14:33:28\n"
description: ''
parameters: []
summary: Get Hold History
description: Use the Get Hold History endpoint to retrieve a history of holds that were created for the specified account by the Create Hold endpoint.
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.
Pattern: PAN or PRN
Example: `"074103447228"`'
example: 074103447228
required:
- accountNo
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
operationId: post_getholdhistory
/updatePayment:
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. 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.027393341064453125,\n \"response_data\": {},\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"64da963d-9904-4ae4-9f0f-45ea92856c00\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 15:05:21\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.02155756950378418\n \n \n \n \n 100e9422-0e98-48c4-bac8-eb50cf334e86\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 15:05:21\n"
description: ''
parameters: []
summary: Update Payment
description: 'Use the Update Payment endpoint to update the number of hold days for a pending payment that was created with the Create Payment endpoint. You should not use this endpoint to update payments created with the Create Account Transfer or Create ACH Transaction endpoint.
Consult the Creating a Payment guide for instructions on using this endpoint.'
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
pmtId:
type: integer
format: int32
description: 'The payment ID (`payment_trans_id`) as returned by the Create Payment endpoint or `pmt_id` as returned by the Get Payment History endpoint.
Pattern: Positive integer
Example: `4234888`'
example: 4234888
holdDays:
type: integer
format: int32
minimum: 0
maximum: 99
description: 'Number of days to hold a payment before processing. If set to `0`, the payment will be posted the next time the internal payment process runs.
Pattern: Integer value of `0` or greater
Example: `0`'
example: 0
required:
- accountNo
- holdDays
- pmtId
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
operationId: post_updatepayment
/reverseAccountTransfer:
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:
new_balance:
type: number
description: The balance on the account after the transaction posted
old_balance:
type: number
description: The balance on the account before the transaction posted
required:
- new_balance
- old_balance
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.205,\n \"response_data\": {\n \"old_balance\": 1210.95,\n \"new_balance\": 1212.2\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"W697TZLAS9ZX0X12HZIE\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:48:12\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 22025-07-13 10:48:12\n \n 1210.95/old_balance>\n 1212.2\n \n 0.205\n \n W697TZLAS9ZX0X12HZIE\n \n \n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n"
description: ''
parameters: []
summary: Reverse Account Transfer
description: 'Use the Reverse Account Transfer endpoint to reverse out a transaction made with the Create Account Transfer endpoint. Only a successful Create Account Transfer transaction (response `status: 0`) can be reversed using Reverse Account Transfer. Pass the `transactionId` of the endpoint request to be reversed instead of passing a new value. Pass the original sending account in `accountNo`.
Consult the Creating an Internal Transfer guide for instructions on using this endpoint.'
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.
Pattern: PAN or PRN
Example: `"074103447228"`'
example: 074103447228
required:
- accountNo
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
operationId: post_reverseaccounttransfer
/updatePendingMerchantCredit:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
description: 'Use the Update Pending Merchant Credit endpoint to post or post and hold a merchant credit if you are handling your own disputes. The threshold for manual review of merchant credits is set during product configuration using the ZREVW product parameter.
To use this endpoint, first, use the Get Pending Merchant Credit endpoint to retrieve the `settle_id` value, then pass it in the `settleId` parameter. Use `type` to specify whether to post or post and hold.
When the system receives the call to this endpoint, the credit is queued for processing.'
operationId: post_updatependingmerchantcredit
parameters: []
requestBody:
content:
application/x-www-form-urlencoded:
schema:
properties:
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
programId:
description: 'A unique program identifier from SoFi Tech Solutions.
Pattern: Positive integer
Example: `1032`'
example: 1032
type: integer
settleId:
description: 'The `settle_id` as returned by Get Pending Merchant Credits.
Pattern: `/^[a-z A-Z]{1}-[0-9]{1,20}$/`
Example: `"v-43843747"`'
example: v-43843747
pattern: ^[a-zA-Z]{1}\-[0-9]{1,20}$
type: string
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
type:
description: 'Type of update to perform on the merchant credit:
* `1` — Post
* `2` — Post and hold
Pattern: `1` or `2`
Example: `"2"`'
enum:
- '1'
- '2'
example: '2'
type: string
required:
- programId
- settleId
- transactionId
- type
- 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:
description: A structure for the response data. This endpoint does not return response data, so it will always be empty.
additionalProperties: false
properties: {}
type: object
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
examples:
response:
value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.39,\n \"response_data\": {},\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"9369e642-7765-4f49-b632-ab7181fe182c\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 15:32:06\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.024\n \n \n \n \n 002f2baf-f5ea-4104-b945-802f0495f475\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 15:32:07\n"
description: Successful response
summary: Update Pending Merchant Credit
tags:
- Transactions
/getPendingMerchantCredits:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
description: 'Use the Get Pending Merchant Credits endpoint to retrieve all merchant credits that are in the "pending" or "waiting to be processed" status. The `programId` parameter is required. Pass the `accountNo` parameter to get pending credits for the specified account.
See Record-Set Pagination for instructions on using the paging parameters.'
operationId: post_getpendingmerchantcredits
parameters: []
requestBody:
content:
application/x-www-form-urlencoded:
schema:
properties:
accountNo:
description: 'The <>, <> or <> of the account.
Pattern: PAN, PRN, or CAD
Example: `"074103447228"`'
example: 074103447228
pattern: ^.+$
type:
- string
- 'null'
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
page:
default: 1
description: 'The number of the page to retrieve.
Pattern: Integer value of `1` or greater
Example: `3`'
example: 3
type:
- integer
- 'null'
programId:
description: 'A unique program identifier from SoFi Tech Solutions.
Pattern: Positive integer
Example: `1032`'
example: 1032
type: integer
recordCnt:
description: 'The maximum number of records per page to be returned.
Pattern: Positive integer `1-99999`
Example: `100`'
example: 100
maximum: 99999
minimum: 1
type:
- integer
- '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
required:
- programId
- transactionId
- 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:
number_of_pages:
description: Total number of pages in the accounts list display
type: number
page:
description: The page number retrieved in the context of recordset paging
type: number
pending_merchant_credits:
description: List of information on pending merchant credits
items:
additionalProperties: false
properties:
amount:
description: The amount of pending merchant credit
type:
- number
- 'null'
card_id:
description: ID of the card as found in the RDF
type:
- string
- 'null'
description:
description: The description of a pending merchant credit
type:
- string
- 'null'
first_name:
description: A person's first name as listed on the account
type:
- string
- 'null'
last_name:
description: A person's last name as listed on the account
type:
- string
- 'null'
pmt_ref_no:
description: A system-generated account number
type: string
settle_id:
description: ID that has been assigned a transaction that has been settled
type: string
settle_ts:
description: Timestamp for settled transaction
format: date-time
type:
- string
- 'null'
required:
- amount
- card_id
- description
- first_name
- last_name
- pmt_ref_no
- settle_id
- settle_ts
type: object
type: array
total_record_count:
description: The number of records in the display
type: number
required:
- number_of_pages
- page
- pending_merchant_credits
- total_record_count
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
examples:
response:
value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.411,\n \"response_data\": {\n \"page\": 1,\n \"total_record_count\": 5,\n \"number_of_pages\": 1,\n \"pending_merchant_credits\": [\n {\n \"settle_id\": \"d-1\",\n \"settle_ts\": \"2025-07-08 14:44:06\",\n \"amount\": 7,\n \"description\": \"WALGREENS P\",\n \"pmt_ref_no\": \"005461541202\",\n \"card_id\": null,\n \"first_name\": \"barrett\",\n \"last_name\": \"abplanalp\"\n },\n {\n \"settle_id\": \"a-1671981\",\n \"settle_ts\": \"2025-07-06 14:44:06\",\n \"amount\": 9,\n \"description\": \"TRAVEL INSURANCE POLIC RICHMOND VAUS\",\n \"pmt_ref_no\": \"005461541202\",\n \"card_id\": null,\n \"first_name\": \"barrett\",\n \"last_name\": \"abplanalp\"\n },\n {\n \"settle_id\": \"v-52114194\",\n \"settle_ts\": \"2025-07-10 14:44:06\",\n \"amount\": 5,\n \"description\": \"RED APPLE 367 EAST SYRACUSENYUS\",\n \"pmt_ref_no\": \"005461541202\",\n \"card_id\": null,\n \"first_name\": \"barrett\",\n \"last_name\": \"abplanalp\"\n },\n {\n \"settle_id\": \"m-201724022\",\n \"settle_ts\": \"2025-07-07 14:44:06\",\n \"amount\": 8,\n \"description\": \"PAYPAL *EB\",\n \"pmt_ref_no\": \"005461541202\",\n \"card_id\": null,\n \"first_name\": \"barrett\",\n \"last_name\": \"abplanalp\"\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"d65f8c55-c5f5-4f4c-b0fe-e3aeb20fe899\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 14:44:07\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.019\n \n 1\n 5\n 1\n \n \n d-1\n 2025-07-08 14:44:06\n 7\n WALGREENS P\n 005461541202\n \n barrett\n abplanalp\n \n \n a-1671981\n 2025-07-06 14:44:06\n 9\n TRAVEL INSURANCE POLIC RICHMOND VAUS\n 005461541202\n \n barrett\n abplanalp\n \n \n v-52114194\n 2025-07-10 14:44:06\n 5\n RED APPLE 367 EAST SYRACUSENYUS\n 005461541202\n \n barrett\n abplanalp\n \n \n m-201724022\n 2025-07-07 14:44:06\n 8\n PAYPAL *EB\n 005461541202\n \n barrett\n abplanalp\n \n \n \n \n \n \n 471dbfab-3821-4941-9b23-10e96826af85\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 14:44:08\n"
description: Successful response
summary: Get Pending Merchant Credits
tags:
- Transactions
/modifyPendingDepositStatus:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
responses:
default:
description: ''
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:
deposit_transaction_id:
type: string
description: A unique system generated ID number that identifies the deposit
action_type:
type: string
description: '''P'' and ''R'' (Post and Return). Post = pending (ACH) deposit, Return = return the pending deposit'
category_type:
type: string
description: A = Approve; W = Watch; D = Decline
category_code:
type: string
description: COF=Questionable IAT Country; CRN= Unauthorized IAT Country; L=Large Xfer Amount > 4000; LRG=Large Xfer 4000; NAME=Name miss match; TAX=Tax
required:
- action_type
- category_code
- category_type
- deposit_transaction_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.443,\n \"response_data\": {\n \"deposit_transaction_id\": \"75001797\",\n \"action_type\": \"P\",\n \"category_type\": \"A\",\n \"category_code\": \"COF\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"52fa5fc4-beb2-49ad-b719-37d9abd4ec4d\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 14:55:11\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.037\n \n 75001797\n P\n A\n COF\n \n \n \n \n aa3dbb6b-f298-4037-8f78-3ca86ff1b859\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 14:55:12\n"
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
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
depositTransactionId:
type: integer
format: int32
minimum: 1
maximum: 9999999999
description: 'The ACH transaction identifier (`ach_trans_id`), as returned by the Get Pending Deposits endpoint.
Pattern: Integer
Example: `6844743`'
example: 6844743
actionType:
type: string
enum:
- P
- R
description: 'Action to take on the pending deposit:
* `P` — Post the deposit
* `R` — Return the deposit to the sender. When returning the deposit, `retCode` is **required**
Pattern: String
Example: `"P"`'
example: P
categoryCode:
type: string
description: 'Category to assign to the deposit. See Deposit Category Codes for valid values.
Pattern: String
Example: `"TAX"`'
example: TAX
categoryType:
type: string
enum:
- A
- W
- D
description: "Indicates the decision for future ACH deposits that match the program settings for the current deposit. Values are: \n * `A` — Approve matching transactions.\n* `D` — Decline matching transactions.\n* `W` — Watch matching transactions and send for manual review.\n\nPattern: String\nExample: `\"D\"`"
example: D
retCode:
type:
- string
- 'null'
enum:
- R02
- R03
- R04
- R06
- R08
- R17
- R23
description: 'Reason for returning the deposit. This parameter is **required** when `actionType: R`. See the Return Codes table for valid values.
Pattern: String
Example: `"R02"`'
example: R02
required:
- actionType
- categoryCode
- categoryType
- depositTransactionId
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
summary: Modify Pending Deposit Status
parameters: []
description: 'Use the Modify Pending Deposit Status endpoint to either post or return pending direct ACH deposits that are returned by Get Pending Deposits. This endpoint is intended for a custom fraud monitoring and resolution strategy. Consult with SoFi Tech Solutions to configure your program appropriately.
For more information on this endpoint see Modifying a pending ACH deposit status in the *ACH Endpoints* guide.'
operationId: post_modifypendingdepositstatus
/getPendingDeposits:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
responses:
default:
description: ''
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:
pending_deposit_count:
type: integer
format: int32
description: The number of pending deposits in the response
page:
type: integer
format: int32
description: The page number to be retrieved in the context of recordset paging
total_record_count:
type: integer
format: int32
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
start_date:
type: string
format: date-time
description: Start date of the pending deposits data range
end_date:
type: string
format: date-time
description: End date of the pending deposits data range
pending_deposits:
type: array
description: List of information on pending deposits
items:
type: object
properties:
amt:
type:
- number
- 'null'
format: float
description: The amount of the deposit
in_ts:
type:
- string
- 'null'
format: date-time
description: An initial timestamp for the creation of the record
effective_dt:
type:
- string
- 'null'
format: date-time
description: A timestamp for an ACH record that specifies when the payment posts
name:
type:
- string
- 'null'
description: The name of the account receiving the flagged deposit
xid:
type:
- string
- 'null'
description: An account ID that can be used instead of the PAN or other restricted information
prog_id:
type: string
description: An ID number unique to a program
batch_hdr:
type:
- string
- 'null'
description: A record of a batch of transactions
company_entry_description:
type:
- string
- 'null'
description: Value of Company Entry Description from the Company/Batch Header Record in ach file
company_identification:
type:
- string
- 'null'
description: Value of Company Identification from the Company/Batch Header Record in ach file
dest_acct_no:
type: string
description: The destination account for a flagged pending deposit
source_inst_id:
type:
- string
- 'null'
description: An ID (Usually a bank routing number) for the institution that originated the deposit
source_inst_name:
type:
- string
- 'null'
description: The name of the institution that originated the deposit
pmt_ref_no:
type:
- string
- 'null'
description: A system-generated account number
status:
type:
- string
- 'null'
description: The status of the deposit. See Deposit Status Codes.
trans_type:
type:
- string
- 'null'
description: Transaction type
addenda_rec:
type:
- string
- 'null'
description: Supplemental information to identify a deposit
categories:
type: array
description: List containing information about categories
items:
type: object
properties:
category_code:
type: string
description: Category code for the deposit. See Deposit Category Codes for valid values.
description:
type: string
description: A plain text description of a pending deposit
status:
type:
- string
- 'null'
description: Status of the deposit
ach_source_id:
type:
- string
- 'null'
description: An identifier for the <>
required:
- ach_source_id
- category_code
- description
- status
ach_trans_id:
type: string
description: A unique ID for an ACH transaction
ach_category:
type:
- string
- 'null'
description: Transaction ACH category
ach_subcategory:
type:
- string
- 'null'
description: Transaction ACH subcategory
trans_ts:
type:
- string
- 'null'
format: date-time
description: Original settlement date
actual_settl_dt:
type:
- string
- 'null'
format: date-time
description: Actual settlement date
ach_early_days_used:
type:
- number
- 'null'
description: Number of Early Days Used
required:
- ach_trans_id
- amt
- dest_acct_no
- effective_dt
- in_ts
- name
- prog_id
- xid
required:
- end_date
- number_of_pages
- page
- pending_deposit_count
- pending_deposits
- start_date
- 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.451,\n \"response_data\": {\n \"pending_deposits\": [\n {\n \"ach_trans_id\": \"75001796\",\n \"addenda_rec\": null,\n \"amt\": \"0\",\n \"batch_hdr\": null,\n \"categories\": [\n {\n \"ach_source_id\": \"3993081\",\n \"category_code\": \"COF\",\n \"description\": \"Questionable Country (COF)\",\n \"status\": \"NEW\",\n \"source_status\": \"WATCH\",\n \"last_updated\": \"2025-07-15 13:39:39\",\n \"last_updated_by\": null\n }\n ],\n \"dest_acct_no\": \"005461539202\",\n \"effective_dt\": \"2025-07-15 14:38:26\",\n \"in_ts\": \"2025-07-15 14:38:26\",\n \"name\": \"Bubble Wrap\",\n \"prog_id\": \"622\",\n \"source_inst_id\": \"1090444333\",\n \"source_inst_name\": null,\n \"status\": \"U\",\n \"trans_type\": \"DD\",\n \"xid\": \"5461539\",\n \"pmt_ref_no\": \"005461539202\",\n \"efname\": \"MDAxNiW00jbNDJzkMnIgw5F66EIK\",\n \"elname\": \"MDAxNgYDOoHXPekcFNW6fCKnJUkK\"\n }\n ],\n \"end_date\": \"2025-07-15\",\n \"page\": 1,\n \"pending_deposit_count\": 1,\n \"start_date\": \"2025-06-15\",\n \"total_record_count\": 1,\n \"number_of_pages\": 1\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"6850fe89-1bc9-4e82-a910-d0e26cf3522b\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 14:38:28\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.037\n \n \n \n 75001796\n \n 0\n \n \n \n 3993081\n COF\n Questionable Country (COF)\n NEW\n WATCH\n 2025-07-15 13:39:39\n \n \n \n 005461539202\n 2025-07-15 14:38:26\n 2025-07-15 14:38:26\n Bubble Wrap\n 622\n 1090444333\n \n U\n DD\n 5461539\n 005461539202\n MDAxNiW00jbNDJzkMnIgw5F66EIK\n MDAxNgYDOoHXPekcFNW6fCKnJUkK\n \n \n 2025-07-15\n 1\n 1\n 2025-06-15\n 1\n 1\n \n \n \n \n f9d437dc-4cae-4f09-a9ac-c0d67df072fb\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 14:38:29\n"
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.\nPattern: PAN or PRN \nExample: `\"074103447228\"`"
example: 074103447228
startDate:
type:
- string
- 'null'
format: date
description: 'The beginning date for the date range.
Pattern: YYYY-MM-DD
Example: `"2016-01-01"`'
example: '2016-01-01'
endDate:
type:
- string
- 'null'
format: date
description: 'The end date for the date range. Must be equal to or later than `startDate`.
Pattern: YYYY-MM-DD
Example: `"2016-01-01"`'
example: '2016-01-01'
recordCnt:
type:
- integer
- 'null'
format: int32
minimum: 1
maximum: 99999
description: 'The maximum number of records per page to be returned.
Pattern: P Positive integer `1-99999`
Example: `100`'
example: 100
page:
type: integer
format: int32
default: 1
description: 'The number of the page to retrieve.
Pattern: Integer value of `1` or greater
Example: `3`'
example: 3
required:
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
summary: Get Pending Deposits
parameters: []
description: 'Use the Get Pending Deposits endpoint to retrieve a list of incoming ACH credits that are pending manual review. Populate `accountNo` to retrieve the pending credits for a specified account or leave `accountNo` blank to retrieve all pending credits for your program. You can approve or reject these transactions using the > or the Modify Pending Deposit Status endpoint. Incoming ACH credits are placed into this queue based on the operation fraud settings for your program.
See Record-Set Pagination for instructions on using the paging parameters.'
operationId: post_getpendingdeposits
/expireAuthorization:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
description: 'Use the Expire Authorization endpoint to expire a pending authorization and return the hold amount to the cardholder account. The authorization must be eligible for expiry. Check for one of the following:
- `can_be_expired: 1` — Get Authorization History response
- `AUTHORIZATION STATUS` — Authorized Transactions RDF; status `A` or `C`
This endpoint expires the authorization in the system; the expiry is not communicated to the card network.'
operationId: post_expireauthorization
parameters: []
requestBody:
content:
application/x-www-form-urlencoded:
schema:
properties:
accountNo:
description: "The <> or <> of the account.\nPattern: PAN or PRN \nExample: `\"074103447228\"`"
example: 074103447228
pattern: ^$|^([0-9]{12}|[0-9]{16})$
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
authId:
description: 'The system-generated authorization ID (`auth_id`) as returned by Get Authorization History.
Pattern: Positive integer
Example: `58344373`'
example: 58344373
type: integer
expirationDate:
description: 'Date that the authorization is eligible for expiration. Must be a date in the future. Leave this parameter empty to expire the authorization immediately.
Pattern: YYYY-MM-DD
Example: `"2026-03-05"`'
example: '2026-03-05'
format: date
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
required:
- accountNo
- authId
- transactionId
- 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:
description: A structure for the response data. This endpoint does not return response data, so it will always be empty.
additionalProperties: false
properties: {}
type: object
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
examples:
response:
value: "{\n \"status_code\": 0,\n \"status\": \"Success\",\n \"processing_time\": 0.486,\n \"response_data\": {},\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"74d746a8-9518-4120-adba-b3568c8508d4\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 14:01:30\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.041\n \n \n \n \n cbaa127e-37b8-40d7-8b85-893392dd2b0a\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 14:01:31\n"
description: Successful response
summary: Expire Authorization
tags:
- Transactions
/searchBillerDirectory:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
parameters: []
tags:
- Transactions
summary: Search Biller Directory
description: 'Use the Search Biller Directory endpoint to find billers in the > database. Pass `billerName` (required), `billerState` (recommended) and `billerAccountNo` (optional). If the biller is in the RPPS database, the endpoint returns the RPPS biller ID (`rpps_biller_id`), which you pass in the Add RPPS Biller endpoint call. If the biller is not present, use Add Paper Biller to add the biller.
If the biller is present in the RPPS directory, the endpoint might return `biller_account_no_patterns`, which you can use as a mask to validate the account number.
See Creating a Billpay Transaction 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. It can be empty but usually will contain information.
type:
- object
- 'null'
properties:
billers:
type: array
description: List of transfer accounts
items:
type: object
properties:
rpps_biller_id:
type: string
description: Remote Payment and Presentment Service provider ID
biller_name:
type: string
description: Name of the biller
biller_address1:
type:
- string
- 'null'
description: Street and residence number on the account
biller_address2:
type:
- string
- 'null'
description: Additional address information on the account
biller_city:
type:
- string
- 'null'
description: City for address information
biller_state:
type:
- string
- 'null'
description: State for address information
biller_zip:
type:
- string
- 'null'
description: Zip code for address information
biller_account_no_patterns:
type:
- array
- 'null'
description: The account number patterns that are used by the biller. See the Account Patterns Legend below
items:
type: string
required:
- biller_account_no_patterns
- biller_address1
- biller_address2
- biller_city
- biller_name
- biller_state
- biller_zip
- rpps_biller_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.059,\n \"response_data\": {\n \"billers\": [\n {\n \"rpps_biller_id\": \"0003000511\",\n \"biller_name\": \"CH&L GHP\",\n \"biller_address1\": \"\",\n \"biller_address2\": \"\",\n \"biller_city\": \"\",\n \"biller_state\": \"\",\n \"biller_zip\": \"\",\n \"biller_account_no_patterns\": [\n \"#######\"\n ]\n },\n {\n \"rpps_biller_id\": \"0003000535\",\n \"biller_name\": \"GHP\",\n \"biller_address1\": \"\",\n \"biller_address2\": \"\",\n \"biller_city\": \"\",\n \"biller_state\": \"\",\n \"biller_zip\": \"\",\n \"biller_account_no_patterns\": [\n \"#######\"\n ]\n },\n {\n \"rpps_biller_id\": \"0004771062\",\n \"biller_name\": \"Highpark Property Owners Association\",\n \"biller_address1\": \"\",\n \"biller_address2\": \"\",\n \"biller_city\": \"\",\n \"biller_state\": \"\",\n \"biller_zip\": \"\",\n \"biller_account_no_patterns\": [\n \"########\"\n ]\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"Z92IZO5O06I39JKHB0KP\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:41:32\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.058\n \n \n \n 0003000511\n CH&L GHP\n \n \n \n \n \n \n #######\n \n \n \n 0003000535\n GHP\n \n \n \n \n \n \n #######\n \n \n \n 0004771062\n Highpark Property Owners Association\n \n \n \n \n \n \n ########\n \n \n \n \n \n \n \n OMLNGVL8PL5DEW4UQ4PP\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:34:54\n"
description: ''
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
billerAccountNo:
type:
- string
- 'null'
minLength: 1
maxLength: 30
pattern: ^[A-Za-z0-9\|_\. '`\?,!@$%#\"\/\-=]{1,30}$
description: 'Valid biller account number. As applicable, this value is validated against a biller-supplied mask.
Pattern: A Max 60 alphanumeric characters including space and hyphen
Example: `"3333223323455555"`'
example: '3333223323455555'
billerName:
type: string
minLength: 1
maxLength: 128
description: 'Pass a complete or partial name of a biller to begin the search. When a single term returns multiple entries, the account holder must select from among them. Pass `billerState` and/or `billerAccountNo` to filter the results.
Pattern: Max 50 alphanumeric characters, no punctuation
Example: `"Netflix"`'
example: Netflix
billerState:
type:
- string
- 'null'
enum:
- AL
- AK
- AZ
- AR
- CA
- CO
- CT
- DE
- DC
- FL
- GA
- HI
- ID
- IL
- IN
- IA
- KS
- KY
- LA
- ME
- MD
- MA
- MI
- MN
- MS
- MO
- MT
- NE
- NV
- NH
- NJ
- NM
- NY
- NC
- ND
- OH
- OK
- OR
- PA
- RI
- SC
- SD
- TN
- TX
- UT
- VT
- VA
- WA
- WV
- WI
- WY
- AE
- AP
- AS
- GU
- MP
- PR
- VI
- AB
- BC
- MB
- NB
- NL
- NT
- NS
- NU
- 'ON'
- PE
- QC
- SK
- YT
minLength: 2
maxLength: 2
description: 'Biller state or province.
Pattern: 2-character state or provincial abbreviation
Example: `"UT"`'
example: UT
required:
- billerName
- transactionId
- apiLogin
- apiTransKey
- providerId
operationId: post_searchbillerdirectory
/getScheduledBillPayments:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
parameters: []
tags:
- Transactions
summary: Get Scheduled Bill Payments
description: 'Use the Get Scheduled Bill Payments endpoint to retrieve the scheduled (recurrent) and future (non-recurrent) bill payments for the specified account. This endpoint returns the next-scheduled payments and all future payments that have a process date of today or later.
You can control the pagination as follows:
- Scheduled payments — `recordCntScheduled` and `pageScheduled`
- Future payments — `recordCntFuture` and `pageFuture`
- Both scheduled and future payments — `recordCnt` and `page`.
See Record-Set Pagination for instructions on using the paging parameters.'
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:
scheduled_payments:
type: array
description: List of scheduled payments
items:
type: object
properties:
account_number:
type: string
description: The account number for the scheduled payment
address_1:
type:
- string
- 'null'
description: Address for the payment
address_2:
type:
- string
- 'null'
description: Additional address info for the payment
biller_id:
type: integer
format: int32
description: The biller ID associated with the payment
city:
type:
- string
- 'null'
description: City for the address info
name:
type:
- string
- 'null'
description: Name for the scheduled payment
nickname:
type:
- string
- 'null'
description: A nickname for the scheduled payment
phone:
type:
- string
- 'null'
description: Phone associated with the scheduled payment
postal_code:
type:
- string
- 'null'
description: Postal code for the address info
state_province:
type:
- string
- 'null'
description: State or province for the address info
type:
type: string
description: The bill payment type
frequency_type:
type:
- string
- 'null'
description: How frequent the payment is scheduled
next_date:
type:
- string
- 'null'
format: date
description: The next date for which a payment is scheduled
stop_date:
type:
- string
- 'null'
format: date
description: Payments will not be scheduled after this date
amount:
type: number
format: float
description: The amount of the payment
required:
- account_number
- address_1
- address_2
- amount
- biller_id
- city
- frequency_type
- name
- next_date
- nickname
- phone
- postal_code
- state_province
- stop_date
- type
found:
type: integer
format: int32
description: The number of scheduled payments found
future_scheduled_payments:
type: array
description: List of future scheduled payments
items:
type: object
properties:
pmt_ref_no:
type: string
description: A system-generated number to identify the customer account. Maps to `PRN` and `prn`.
billpay_transaction_id:
type: string
description: An ID assigned to a bill payment transaction
amount:
type: string
description: The amount of the future scheduled bill payment
process_date:
type:
- string
- 'null'
description: The date that the future scheduled bill payment will be processed
biller_id:
type: string
description: The biller ID associated with the future scheduled bill payment
name:
type:
- string
- 'null'
description: Name for the future scheduled scheduled bill payment
nickname:
type:
- string
- 'null'
description: A nickname for the future scheduled bill payment
status:
type: string
description: Status of the future scheduled bill payment
type:
type: string
description: The bill payment type
external_trans_id:
type:
- string
- 'null'
description: User-supplied identifier for a transaction, if any.
printed_date:
type:
- string
- 'null'
description: The date the bill payment will be sent
required:
- amount
- biller_id
- billpay_transaction_id
- external_trans_id
- name
- nickname
- pmt_ref_no
- printed_date
- process_date
- status
- type
page:
type: integer
format: int32
description: The page number to be retrieved in the context of recordset paging
page_scheduled:
type: integer
format: int32
description: The page number to be retrieved for scheduled bill payments
page_future:
type: integer
format: int32
description: The page number to be retrieved for future scheduled bill payments
total_record_count:
type: integer
format: int32
description: Sum of scheduled payments and future scheduled payments
number_of_pages:
type: integer
format: int32
description: Total number of pages for scheduled payments and future scheduled payments
total_record_count_scheduled:
type: integer
format: int32
description: Number of records for scheduled payments
number_of_pages_scheduled:
type: integer
format: int32
description: Total number of pages for the scheduled payments
total_record_count_future:
type: integer
format: int32
description: Number of records for future scheduled payments
number_of_pages_future:
type: integer
format: int32
description: Total number of pages for the future scheduled payments
required:
- found
- future_scheduled_payments
- number_of_pages
- page
- scheduled_payments
- 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\": 1.051,\n \"response_data\": {\n \"scheduled_payments\": [\n {\n \"account_number\": \"0024879920\",\n \"address_1\": \"145 Cerulean St\",\n \"address_2\": null,\n \"biller_id\": 248800,\n \"city\": \"Bluelake City\",\n \"name\": \"Bluelake Utilities\",\n \"nickname\": \"Bluelake Utilities\",\n \"phone\": null,\n \"postal_code\": 84021,\n \"state_province\": \"UT\",\n \"type\": \"P\",\n \"frequency_type\": \"M\",\n \"next_date\": \"2023-07-22\",\n \"stop_date\": \"2025-07-11\",\n \"amount\": 45\n },\n {\n \"account_number\": \"9994879520\",\n \"address_1\": \"PO Box 3221\",\n \"address_2\": null,\n \"biller_id\": 248796,\n \"city\": \"Scarlet City\",\n \"name\": \"Scarlet City Electric\",\n \"nickname\": \"Power bill\",\n \"phone\": null,\n \"postal_code\": 89032,\n \"state_province\": \"NV\",\n \"type\": \"P\",\n \"frequency_type\": \"M\",\n \"next_date\": \"2023-08-05\",\n \"stop_date\": \"2024-07-11\",\n \"amount\": 55\n },\n {\n \"account_number\": \"9994879720\",\n \"address_1\": \"5455 N Greenhurst Dr\",\n \"address_2\": null,\n \"biller_id\": 248798,\n \"city\": \"Nampa\",\n \"name\": \"GREENHURST SAVINGS AND LOAN\",\n \"nickname\": \"Student loan\",\n \"phone\": null,\n \"postal_code\": 83686,\n \"state_province\": \"ID\",\n \"type\": \"P\",\n \"frequency_type\": \"W\",\n \"next_date\": \"2023-08-05\",\n \"stop_date\": \"2024-07-11\",\n \"amount\": 200\n }\n ],\n \"found\": 6,\n \"future_scheduled_payments\": [\n {\n \"pmt_ref_no\": \"999461473202\",\n \"billpay_transaction_id\": \"618671\",\n \"amount\": \"10\",\n \"process_date\": \"2024-01-28 20:11:40\",\n \"biller_id\": \"248796\",\n \"name\": \"Horacio Peel\",\n \"nickname\": \"piano teacher\",\n \"status\": \"N\",\n \"type\": \"E\",\n \"external_trans_id\": null,\n \"printed_date\": \"2024-01-28 20:11:40\"\n },\n {\n \"pmt_ref_no\": \"999461473202\",\n \"billpay_transaction_id\": \"618673\",\n \"amount\": \"10\",\n \"process_date\": \"2024-01-28 20:11:40\",\n \"biller_id\": \"248800\",\n \"name\": \"REDLINE CABLE SERVICE\",\n \"nickname\": \"cable bill\",\n \"status\": \"N\",\n \"type\": \"E\",\n \"external_trans_id\": null,\n \"printed_date\": \"2024-01-28 20:11:40\"\n },\n {\n \"pmt_ref_no\": \"999461473202\",\n \"billpay_transaction_id\": \"618672\",\n \"amount\": \"10\",\n \"process_date\": \"2024-01-28 20:11:40\",\n \"biller_id\": \"248798\",\n \"name\": \"Julie Crenshaw\",\n \"nickname\": \"\",\n \"status\": \"N\",\n \"type\": \"E\",\n \"external_trans_id\": null,\n \"printed_date\": \"2024-01-28 20:11:40\"\n }\n ],\n \"number_of_pages\": 2,\n \"page\": 1,\n \"total_record_count\": 6,\n \"page_scheduled\": 1,\n \"number_of_pages_scheduled\": 1,\n \"total_record_count_scheduled\": 3,\n \"page_future\": 1,\n \"number_of_pages_future\": 1,\n \"total_record_count_future\": 3\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"8327aba5-8f13-4311-a837-0d7ac5accc65\"\n },\n \"system_timestamp\": \"2023-07-12 20:11:42\",\n \"rtoken\": \"59ddacc5-3cc3-4d2e-869a-489157d81696\"\n }\n "
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 1.051\n \n \n 0024879920\n 145 Cerulean St\n \n 248800\n Bluelake City\n Bluelake Utilities\n Bluelake Utilities\n \n 84021\n UT\n P\n M\n 2023-07-22\n 2025-07-11\n 45\n \n \n 9994879520\n PO Box 3221\n \n 248796\n Scarlet City\n Scarlet City Electric\n Power bill\n \n 89032\n NV\n P\n M\n 2023-08-05\n 2024-07-11\n 55\n \n \n 9994879720\n 5455 N Greenhurst Dr\n \n 248798\n Nampa\n GREENHURST SAVINGS AND LOAN\n Student loan\n \n 83686\n ID\n P\n W\n 2023-08-05\n 2024-07-11\n 200\n \n 6\n \n 999461473202\n 618671\n 10\n 2024-01-28 20:11:40\n 248796\n Horacio Peel\n piano teacher\n N\n E\n \n 2024-01-28 20:11:40\n \n \n 999461473202\n 618673\n 10\n 2024-01-28 20:11:40\n 248800\n REDLINE CABLE SERVICE\n cable bill\n N\n E\n \n 2024-01-28 20:11:40\n \n \n 999461473202\n 618672\n 10\n 2024-01-28 20:11:40\n 248798\n Julie Crenshaw\n \n N\n E\n \n 2024-01-28 20:11:40\n \n 2\n 1\n 6\n 1\n 1\n 3\n 1\n 1\n 3\n \n \n \n \n 8327aba5-8f13-4311-a837-0d7ac5accc65\n \n 2023-07-12 20:11:42\n 59ddacc5-3cc3-4d2e-869a-489157d81696\n"
description: ''
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
recordCnt:
type:
- integer
- 'null'
format: int32
minimum: 1
maximum: 99999
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
description: 'The number of the page to retrieve.
Pattern: Integer value of `1` or greater
Example: `3`'
example: 3
recordCntScheduled:
type:
- integer
- 'null'
format: int32
minimum: 1
maximum: 99999
description: 'The maximum number of records per page to be returned.
Pattern: Positive integer `1-99999`
Example: `100`'
example: 100
pageScheduled:
type:
- integer
- 'null'
format: int32
description: 'The number of the page to retrieve.
Pattern: Integer value of `1` or greater
Example: `3`'
example: 3
recordCntFuture:
type:
- integer
- 'null'
format: int32
minimum: 1
maximum: 99999
description: 'The maximum number of records per page to be returned.
Pattern: Positive integer `1-99999`
Example: `100`'
example: 100
pageFuture:
type:
- integer
- 'null'
format: int32
description: 'The number of the page to retrieve.
Pattern: Integer value of `1` or greater
Example: `3`'
example: 3
required:
- accountNo
- transactionId
- apiLogin
- apiTransKey
- providerId
operationId: post_getscheduledbillpayments
/getDirectDepositSwitchToken:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
responses:
default:
description: ''
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 vendor token that is used to switch direct deposit
expires:
type: string
format: date-time
description: The date and time a token expires
vendor_identifier:
type: string
description: A vendor unique identifier that is used to switch direct deposit and identify the account for user
required:
- token
- vendor_identifier
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.294,\n \"response_data\": {\n \"token\": \"hpSVyayQScHmhJS6_MVXT1WlsFRQoDJrRu_fi_JlX2Jo2dgg5p\",\n \"expires\": \"2025-09-13 10:50:53\",\n \"vendor_identifier\": \"2783_48727226-6211-1fb3-a66b-53ccb64a0d4c\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"IBR2A324PE03CJU54SPKFT\"\n },\n \"rtoken\": \"6cc06de0-5ada-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-09-13 10:47:48\"\n}\n"
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 local account. Do not use the <>.
Pattern: 12-digit or 16-digit numeric string
Example: `"344101254935"`'
example: 074103447228
ddAccountNo:
type: string
pattern: ^$|^[0-9]{6,16}$
description: "PAN or PRN of the account that will receive the direct deposit. Do not use the CAD. Can be the same account number as `accountNo`. For external accounts, this can be 6 to 16 digits. \nPattern: 6 to 16 digit numeric string \nExample: `\"722844300741\"`"
example: '722844300741'
ddRoutingNo:
type: string
example: '124001545'
description: 'Routing number for the account in `ddSwitchAccountNo`.
Pattern: 9-digit routing number, including check digit
Example: `"124001545"`'
ddAccountType:
type: string
enum:
- checking
- savings
description: 'Type of account in `ddSwitchAccountNo`.
Pattern: String
Example: `"checking"`'
example: checking
ddAccountDescription:
type:
- string
- 'null'
maximum: 50
pattern: ^[a-zA-Z0-9_\-\ ]*$
description: 'Description for the direct deposit account.
Pattern: Max 50 characters: letters, numbers, spaces, hyphens, underscores.
Example: `"SoFi Plus Checking account"`'
example: My Paycheck
required:
- accountNo
- ddAccountNo
- ddAccountType
- ddRoutingNo
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
summary: Get Direct Deposit Switch Token
parameters: []
description: 'Use the Get Direct Deposit Switch Token endpoint to request a `token` from SoFi Tech Solutions to pass to the direct deposit switch provider''s SDK.
See Setting Up Direct Deposit Switch for instructions on using this endpoint.'
operationId: post_getdirectdepositswitchtoken
/getBillpaySwitchToken:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
responses:
default:
description: ''
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 vendor token that is used to the switch payment method
expires:
type: string
format: date-time
description: The date and time a token expires
vendor_identifier:
type: string
description: A vendor unique identifier that is used to the switch payment method and identify the account for user
required:
- token
- vendor_identifier
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.294,\n \"response_data\": {\n \"token\": \"6e93549e-3571-4f57-b0f7-77b7cb0b5e48\",\n \"expires\": \"2025-09-13 10:50:53\",\n \"vendor_identifier\": \"2783_48727226-6211-1fb3-a66b-53ccb64a0d4c\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"IBR2A324PE03CJU54SPKFT\"\n },\n \"rtoken\": \"6cc06de0-5ada-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-09-13 10:47:48\"\n }\n "
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.294\n \n 6e93549e-3571-4f57-b0f7-77b7cb0b5e48\n 2025-09-13 10:50:53\n 2783_48727226-6211-1fb3-a66b-53ccb64a0d4c\n \n \n \n \n IBR2A324PE03CJU54SPKFT\n \n 6cc06de0-5ada-4e2a-968e-3b08fce6f778\n 2025-09-13 10:47:48\n"
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 local account. Do not use the <>.
Pattern: 12-digit or 16-digit numeric string
Example: `"344101254935"`'
example: 074103447228
phoneNumber:
type: string
pattern: ^\d{10}$
description: 'Primary phone number for the account holder, required by the switch provider for merchant verification. This value is encrypted when stored in the system.
Pattern: Exactly 10 digits with no formatting characters
Example: `"8011234567"`'
example: '8011234567'
ddAccounts:
type: array
description: List of accounts for payment method switch.
example:
- accountNo: '722844300741'
routingNumber: '124001545'
accountType: checking
title: My Paycheck
items:
type: object
properties:
accountNo:
type: string
pattern: ^[0-9]{6,16}$
description: "External bank account number used for billpay switch. \nPattern: 6 to 16 digit numeric string \nExample: `\"722844300741\"`"
example: '722844300741'
title:
type:
- string
- 'null'
maximum: 50
pattern: ^[a-zA-Z0-9_\-\ ]*$
description: 'Title of the payment account.
Pattern: Max 50 characters: letters, numbers, spaces, hyphens, underscores.
Example: `"SoFi Plus Checking account"`'
example: My Paycheck
accountType:
type: string
enum:
- checking
- savings
description: 'Type of account.
Pattern: String
Example: `"checking"`'
example: checking
routingNumber:
type: string
example: '124001545'
description: 'Routing number for the account specified in `accountNo`.
Pattern: 9-digit routing number, including check digit
Example: `"124001545"`'
required:
- accountNo
- accountType
- routingNumber
cardAccounts:
type: array
description: List of card account PRNs for payment method switch.
example:
- '123456789012'
- '987654321098'
items:
type: string
required:
- accountNo
- phoneNumber
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Transactions
summary: Get Billpay Switch Token
parameters: []
description: 'Use the Get Billpay Switch Token endpoint to request a `token` from SoFi Tech Solutions to pass to the payment method switch provider''s SDK.
See Setting Up Payment Method Switch for more instructions on using this endpoint.'
operationId: post_getbillpayswitchtoken
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