Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/sofi-technologies-credit-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Program Credit API
version: '4.0'
servers:
- url: api-{corename}.{env}.gpsrv.com/intserv/4.0/
tags:
- name: Credit
paths:
/getCreditLimitChangeHistory:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
parameters: []
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
apiLogin:
type: string
description: 'Web service username, as provided by SoFi Tech Solutions.
Pattern: Max 50 characters
Example: `"AbC123-9999"`'
example: AbC123-9999
apiTransKey:
type: string
description: 'Web service password, as provided by SoFi Tech Solutions.
Pattern: Max 15 characters
Example: `"4sb62fh6w4h7w34g"`'
example: 4sb62fh6w4h7w34g
providerId:
type: integer
description: 'Your unique provider identifier from SoFi Tech Solutions.
Pattern: Max 10 digits
Example: `9999`'
example: 9999
transactionId:
type: string
x-minimum: '1'
x-maximum: '60'
description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for <a href="ref:idempotency#endpoints-that-use-transactionid-for-idempotency" target="_blank">idempotency</a>. A UUID is preferred.
Pattern: Maximum 60 characters
Example: `"9845dk-39fdk3fj3-4483483478"`'
example: 123e4567-e89b-12d3-a456-426614174000
accountNo:
type: string
pattern: ^$|^([0-9]{12}|[0-9]{16})$
description: "The <<glossary:PRN>> or <<glossary:PAN>> of the account.\nPattern: PAN or PRN \nExample: `\"074103447228\"`"
example: 074103447228
required:
- accountNo
- transactionId
- apiLogin
- apiTransKey
- providerId
responses:
default:
content:
application/json:
schema:
type: object
properties:
status_code:
type:
- integer
- 'null'
description: The response status code. May return a string for some statuses.
status:
type:
- string
- 'null'
description: The condition of a process or response
processing_time:
type:
- number
- 'null'
description: The time elapsed in processing the transaction
echo:
description: A structure that contains transaction ID information
type:
- object
- 'null'
properties:
transaction_id:
type:
- string
- 'null'
description: An ID that represents an API transaction
provider_timestamp:
type:
- string
- 'null'
format: date-time
description: Store a related timestamp for reporting and troubleshooting purposes
provider_transaction_id:
type:
- string
- 'null'
description: Secondary transaction identifier (generated by a provider)
required:
- provider_timestamp
- provider_transaction_id
- transaction_id
system_timestamp:
type:
- string
- 'null'
format: date-time
description: A system generated timestamp
rtoken:
type:
- string
- 'null'
description: A system-generated ID used for tracking
errors:
type: array
description: A list of errors generated while the request was processed
items:
type: string
response_data:
description: A structure for the response data. It can be empty but usually will contain information.
type:
- object
- 'null'
properties:
total_record_count:
type: integer
description: The number of records found
changes:
type: array
description: List of credit limit changes
items:
type: object
properties:
timestamp:
type: string
format: date-time
description: The time the credit limit change was made
credit_limit_amount:
type: number
description: The monetary amount the credit limit was changed to
required:
- credit_limit_amount
- timestamp
required:
- changes
- 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.4,\n \"response_data\": {\n \"total_record_count\": 5,\n \"changes\": [\n {\n \"timestamp\": \"2025-07-13 14:23:40\",\n \"credit_limit_amount\": \"2500\"\n },\n {\n \"timestamp\": \"2025-07-12 14:23:40\",\n \"credit_limit_amount\": \"2000\"\n },\n {\n \"timestamp\": \"2025-07-11 14:23:40\",\n \"credit_limit_amount\": \"1500\"\n },\n {\n \"timestamp\": \"2025-07-10 14:23:40\",\n \"credit_limit_amount\": \"1000\"\n },\n {\n \"timestamp\": \"2025-07-09 14:23:40\",\n \"credit_limit_amount\": \"500\"\n }\n ]\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"067c4b1f-d311-40f4-8df7-3d681fba2cfa\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 14:23:41\"\n}"
application/xml:
examples:
response:
value: "<?xml version=\"1.0\" ?>\n<response>\n <status_code>0</status_code>\n <status>Success</status>\n <processing_time>0.022</processing_time>\n <response_data>\n <total_record_count>5</total_record_count>\n <changes>\n <change>\n <timestamp>2025-07-13 14:23:40</timestamp>\n <credit_limit_amount>2500</credit_limit_amount>\n </change>\n <change>\n <timestamp>2025-07-12 14:23:40</timestamp>\n <credit_limit_amount>2000</credit_limit_amount>\n </change>\n <change>\n <timestamp>2025-07-11 14:23:40</timestamp>\n <credit_limit_amount>1500</credit_limit_amount>\n </change>\n <change>\n <timestamp>2025-07-10 14:23:40</timestamp>\n <credit_limit_amount>1000</credit_limit_amount>\n </change>\n <change>\n <timestamp>2025-07-09 14:23:40</timestamp>\n <credit_limit_amount>500</credit_limit_amount>\n </change>\n </changes>\n </response_data>\n <echo>\n <provider_transaction_id/>\n <provider_timestamp/>\n <transaction_id>9d737daa-2296-4d01-a81e-641047b8638f</transaction_id>\n </echo>\n <rtoken>8cc16de0-5eda-4e2a-968e-3b08fce6f778</rtoken>\n <system_timestamp>2025-07-15 14:23:42</system_timestamp>\n</response>"
description: ''
summary: Get Credit Limit Change History
tags:
- Credit
description: Use the Get Credit Limit Change History endpoint to retrieve a list of credit-limit changes for the specified account.
operationId: post_getcreditlimitchangehistory
/setCreditLimit:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
parameters: []
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
apiLogin:
type: string
description: 'Web service username, as provided by SoFi Tech Solutions.
Pattern: Max 50 characters
Example: `"AbC123-9999"`'
example: AbC123-9999
apiTransKey:
type: string
description: 'Web service password, as provided by SoFi Tech Solutions.
Pattern: Max 15 characters
Example: `"4sb62fh6w4h7w34g"`'
example: 4sb62fh6w4h7w34g
providerId:
type: integer
description: 'Your unique provider identifier from SoFi Tech Solutions.
Pattern: Max 10 digits
Example: `9999`'
example: 9999
transactionId:
type: string
x-minimum: '1'
x-maximum: '60'
description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for <a href="ref:idempotency#endpoints-that-use-transactionid-for-idempotency" target="_blank">idempotency</a>. A UUID is preferred.
Pattern: Maximum 60 characters
Example: `"9845dk-39fdk3fj3-4483483478"`'
example: 123e4567-e89b-12d3-a456-426614174000
accountNo:
type: string
pattern: ^$|^([0-9]{12}|[0-9]{16})$
description: "The <<glossary:PRN>> or <<glossary:PAN>> of the account.\nPattern: PAN or PRN \nExample: `\"074103447228\"`"
example: 074103447228
amount:
type: number
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
- amount
- transactionId
- apiLogin
- apiTransKey
- providerId
responses:
default:
content:
application/json:
schema:
type: object
properties:
status_code:
type:
- integer
- 'null'
description: The response status code. May return a string for some statuses.
status:
type:
- string
- 'null'
description: The condition of a process or response
processing_time:
type:
- number
- 'null'
description: The time elapsed in processing the transaction
echo:
description: A structure that contains transaction ID information
type:
- object
- 'null'
properties:
transaction_id:
type:
- string
- 'null'
description: An ID that represents an API transaction
provider_timestamp:
type:
- string
- 'null'
format: date-time
description: Store a related timestamp for reporting and troubleshooting purposes
provider_transaction_id:
type:
- string
- 'null'
description: Secondary transaction identifier (generated by a provider)
required:
- provider_timestamp
- provider_transaction_id
- transaction_id
system_timestamp:
type:
- string
- 'null'
format: date-time
description: A system generated timestamp
rtoken:
type:
- string
- 'null'
description: A system-generated ID used for tracking
errors:
type: array
description: A list of errors generated while the request was processed
items:
type: string
response_data:
description: A structure for the response data. It can be empty but usually will contain information.
type:
- object
- 'null'
properties:
new_credit_limit:
type: string
description: The updated credit limit for the account
available_credit:
type: string
description: The amount available to be charged to a credit card
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.021,\n \"response_data\": {\n \"new_credit_limit\": \"1000\",\n \"available_credit\": \"500\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"TR91JXZLN7FXDLRILSEQ\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:44:16\"\n}"
application/xml:
examples:
response:
value: "<?xml version=\"1.0\" ?>\n<response>\n <status_code>0</status_code>\n <status>Success</status>\n <processing_time>0.044</processing_time>\n <response_data>\n <new_credit_limit>1000</new_credit_limit>\n <available_credit>500</available_credit>\n </response_data>\n <echo>\n <provider_transaction_id/>\n <provider_timestamp/>\n <transaction_id>WIXSN5HG3ZWQTM53BWBR</transaction_id>\n </echo>\n <rtoken>8cc16de0-5eda-4e2a-968e-3b08fce6f778</rtoken>\n <system_timestamp>2025-07-13 12:37:37</system_timestamp>\n</response>"
description: ''
summary: Set Credit Limit
tags:
- Credit
description: Use the Set Credit Limit endpoint to modify the credit limit for the specified account.
operationId: post_setcreditlimit
/getCreditSummary:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
parameters: []
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
apiLogin:
type: string
description: 'Web service username, as provided by SoFi Tech Solutions.
Pattern: Max 50 characters
Example: `"AbC123-9999"`'
example: AbC123-9999
apiTransKey:
type: string
description: 'Web service password, as provided by SoFi Tech Solutions.
Pattern: Max 15 characters
Example: `"4sb62fh6w4h7w34g"`'
example: 4sb62fh6w4h7w34g
providerId:
type: integer
description: 'Your unique provider identifier from SoFi Tech Solutions.
Pattern: Max 10 digits
Example: `9999`'
example: 9999
transactionId:
type: string
x-minimum: '1'
x-maximum: '60'
description: 'Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for <a href="ref:idempotency#endpoints-that-use-transactionid-for-idempotency" target="_blank">idempotency</a>. A UUID is preferred.
Pattern: Maximum 60 characters
Example: `"9845dk-39fdk3fj3-4483483478"`'
example: 123e4567-e89b-12d3-a456-426614174000
accountNo:
type: string
pattern: ^$|^([0-9]{12}|[0-9]{16})$
description: "The <<glossary:PRN>> or <<glossary:PAN>> of the account.\nPattern: PAN or PRN \nExample: `\"074103447228\"`"
example: 074103447228
required:
- accountNo
- transactionId
- apiLogin
- apiTransKey
- providerId
responses:
default:
content:
application/json:
schema:
type: object
properties:
status_code:
type:
- integer
- 'null'
description: The response status code. May return a string for some statuses.
status:
type:
- string
- 'null'
description: The condition of a process or response
processing_time:
type:
- number
- 'null'
description: The time elapsed in processing the transaction
echo:
description: A structure that contains transaction ID information
type:
- object
- 'null'
properties:
transaction_id:
type:
- string
- 'null'
description: An ID that represents an API transaction
provider_timestamp:
type:
- string
- 'null'
format: date-time
description: Store a related timestamp for reporting and troubleshooting purposes
provider_transaction_id:
type:
- string
- 'null'
description: Secondary transaction identifier (generated by a provider)
required:
- provider_timestamp
- provider_transaction_id
- transaction_id
system_timestamp:
type:
- string
- 'null'
format: date-time
description: A system generated timestamp
rtoken:
type:
- string
- 'null'
description: A system-generated ID used for tracking
errors:
type: array
description: A list of errors generated while the request was processed
items:
type: string
response_data:
description: A structure for the response data. It can be empty but usually will contain information.
type:
- object
- 'null'
properties:
available_credit:
type: string
description: The credit amount currently available
outstanding_balance:
type: number
description: The outstanding balance on the account
billing:
description: Billing-related information
type: object
properties:
period:
description: Information about the billing period
type: object
properties:
start_date:
type:
- string
- 'null'
format: date
description: Start date for the billing period
end_date:
type:
- string
- 'null'
format: date
description: End date for the billing period
required:
- end_date
- start_date
payment_due_date:
type:
- string
- 'null'
format: date
description: Date the payment is due
minimum_payment:
type:
- number
- 'null'
description: The minimum payment amount
amount_paid:
type:
- number
- 'null'
description: DEPRECATED field. The amount paid on the account in the last billing cycle
amount_paid_previous_cycle:
type:
- number
- 'null'
description: The amount paid in the previous billing cycle
amount_paid_current_cycle:
type:
- number
- 'null'
description: The amount paid in the current billing cycle
past_due_amount:
type:
- number
- 'null'
description: The amount that is past due
number_of_days_past_due:
type:
- integer
- 'null'
description: The number of days the payment is past due. Null if not past due
payment_status:
type: string
description: The status of the payment (e.g., UNPAID, PAST_DUE, PAID, ZERO_BALANCE)
delinquency_date:
type:
- string
- 'null'
format: date
description: The date in which the account would become delinquent, if applicable
number_of_days_delinquent:
type:
- integer
- 'null'
description: The number of days the account has been delinquent. Null if not delinquent
required:
- amount_paid
- amount_paid_current_cycle
- amount_paid_previous_cycle
- delinquency_date
- minimum_payment
- number_of_days_delinquent
- number_of_days_past_due
- past_due_amount
- payment_due_date
- payment_status
- period
credit_limit:
description: Credit limit information
type: object
properties:
amount:
type:
- string
- 'null'
description: The credit limit amount
last_changed:
type:
- string
- 'null'
format: date-time
description: Timestamp when the credit limit was last changed
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.618,\n \"response_data\": {\n \"available_credit\": \"-5\",\n \"outstanding_balance\": \"-5\",\n \"billing\": {\n \"period\": {\n \"start_date\": \"2024-09-09\",\n \"end_date\": \"2024-09-23\"\n },\n \"payment_due_date\": \"2025-06-15\",\n \"minimum_payment\": \"130.00\",\n \"amount_paid\": \"100.00\",\n \"amount_paid_previous_cycle\": \"0.00\",\n \"amount_paid_current_cycle\": \"20.00\",\n \"past_due_amount\": \"0.00\",\n \"number_of_days_past_due\": null,\n \"payment_status\": \"PAID\",\n \"delinquency_date\": \"2025-09-09\",\n \"number_of_days_delinquent\": null\n },\n \"credit_limit\": {\n \"amount\": \"0\",\n \"last_changed\": null\n }\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"e6ffed3f-e807-4a1d-93ab-4e2a92ad9c6c\"\n },\n \"system_timestamp\": \"2025-10-31 00:35:57\",\n \"rtoken\": \"125ad18e-aee5-4e69-9a49-7404dbb9e1d0\"\n}"
application/xml:
examples:
response:
value: "<?xml version=\"1.0\" ?>\n<response>\n <status_code>0</status_code>\n <status>Success</status>\n <processing_time>0.058</processing_time>\n <response_data>\n <available_credit>-5</available_credit>\n <outstanding_balance>-5</outstanding_balance>\n <billing>\n <period>\n <start_date>2024-09-09</start_date>\n <end_date>2024-09-23</end_date>\n </period>\n <payment_due_date>2025-06-15</payment_due_date>\n <minimum_payment>130.00</minimum_payment>\n <past_due_amount>0.00</past_due_amount>\n <amount_paid>100.00</amount_paid>\n <amount_paid_previous_cycle>0.00</amount_paid_previous_cycle>\n <amount_paid_current_cycle>20.00</amount_paid_current_cycle>\n <past_due_amount>0</past_due_amount>\n <number_of_days_past_due>null</number_of_days_past_due>\n <payment_status>PAID</payment_status>\n <delinquency_date>2025-09-09</delinquency_date>\n <number_of_days_delinquent>null</number_of_days_delinquent>\n </billing>\n <credit_limit>\n <amount>2.61</amount>\n <last_changed/>\n </credit_limit>\n </response_data>\n <echo>\n <provider_transaction_id/>\n <provider_timestamp/>\n <transaction_id>dbcef868-eba8-47c6-aff9-391f0915c724</transaction_id>\n </echo>\n <rtoken>8cc16de0-5eda-4e2a-968e-3b08fce6f778</rtoken>\n <system_timestamp>2025-07-15 14:25:49</system_timestamp>\n</response>"
description: ''
summary: Get Credit Summary
tags:
- Credit
description: Use the Get Credit Summary endpoint to retrieve billing information for the specified account, from the most recent calculated bill cycle, and available credit.
operationId: post_getcreditsummary
/setAutoPayPlan:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
apiLogin:
type: string
description: 'Web service username, as provided by SoFi Tech Solutions.
Pattern: Max 50 characters
Example: `"AbC123-9999"`'
example: AbC123-9999
apiTransKey:
type: string
description: 'Web service password, as provided by SoFi Tech Solutions.
Pattern: Max 15 characters
Example: `"4sb62fh6w4h7w34g"`'
example: 4sb62fh6w4h7w34g
providerId:
type: integer
description: 'System-generated provider identifier.
Pattern: Max 10 digits
Example: `9999`'
example: 9999
transactionId:
type: string
minLength: 1
maxLength: 60
description: 'A unique provider-generated ID to identify this API call. A UUID is preferred.
Pattern: 60 characters or less
Example: `"9845dk-39fdk3fj3-4483483478"`'
example: 9845dk-39fdk3fj3-4483483478
providerTimestamp:
type:
- string
- 'null'
minLength: 1
maxLength: 60
description: 'An optional provider-generated timestamp for the API request.
Pattern: 1–60 characters
Example: `"47823438032233777"`'
providerTransactionId:
type:
- string
- 'null'
minLength: 1
maxLength: 60
description: 'An optional provider-generated ID for the API request.
Pattern: 1–60 characters
Example: `"9845dk-39fdk3fj3-4483483478"`'
fromAccountNo:
type: string
pattern: ^([0-9]{12})$
description: '<<glossary:PRN>> of the debit account.
Pattern: 12-digit numerical string
Account must exist and be active when enabling autopay.
Example: `"074103447228"`'
example: 074103447228
accountNo:
type: string
pattern: ^([0-9]{12})$
description: '<<glossary:PRN>> of the credit account.
Pattern: 12-digit numerical string
Account must exist and be active when enabling autopay.
Example: `"074103447228"`'
# --- truncated at 32 KB (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sofi-technologies/refs/heads/main/openapi/sofi-technologies-credit-api-openapi.yml