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-overdraft-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 Overdraft API
version: '4.0'
servers:
- url: api-{corename}.{env}.gpsrv.com/intserv/4.0/
tags:
- name: Overdraft
paths:
/getOverdraftBalance:
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:
OverdraftAccountNo:
type:
- string
- 'null'
description: The <<glossary:PRN>> of the overdraft account associated with the cardholder
Available:
type:
- number
- 'null'
format: float
description: Remaining overdraft credit after the overdraft transaction fee (ODT) adjustment
Payback:
type:
- number
- 'null'
format: float
description: The settled outstanding balance on the overdraft account, the amount currently owed excluding pending fees
PaybackWithPendingFees:
type:
- number
- 'null'
format: float
description: The total settled outstanding overdraft balance, plus any pending fees from unsettled transactions.
RawBalance:
type:
- number
- 'null'
format: float
description: The remaining available overdraft credit on the account, calculated without any overdraft transaction fees (ODT).
ActualWithPrimary:
type:
- number
- 'null'
format: float
description: The primary DDA available balance minus the outstanding overdraft balance. This is not the combined total of available funds across the DDA and overdraft accounts; it represents the available funds in the DDA minus the outstanding overdraft debt.
Limit:
type:
- number
- 'null'
format: float
description: The total overdraft credit limit, representing the maximum that can be borrowed if no prior balance is owed.
RawLimit:
type:
- number
- 'null'
format: float
description: The base configured overdraft credit limit. The effective limit (Limit) may be lower if the overdraft transaction fee (ODT) is enabled
Frozen:
type:
- string
- 'null'
description: 'Indicates whether the overdraft account is frozen. Possible values: ''1'' - frozen (overdraft transactions are blocked); ''0'' - not frozen'
required:
- ActualWithPrimary
- Available
- Frozen
- Limit
- OverdraftAccountNo
- Payback
- PaybackWithPendingFees
- RawBalance
- RawLimit
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.12,\n \"response_data\": {\n \"OverdraftAccountNo\": \"245101000066\",\n \"Available\": 175,\n \"Payback\": 0,\n \"PaybackWithPendingFees\": 0,\n \"RawBalance\": 175,\n \"ActualWithPrimary\": 993.5,\n \"Limit\": 300,\n \"RawLimit\": 300,\n \"Frozen\": \"0\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"7AUB5DE1WS408K9U5GXM\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-13 10:31:58\"\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.131</processing_time>\n <response_data>\n <OverdraftAccountNo>245101000066</OverdraftAccountNo>\n <Available>175</Available>\n <Payback>0</Payback>\n <PaybackWithPendingFees>0</PaybackWithPendingFees>\n <RawBalance>175</RawBalance>\n <ActualWithPrimary>993.5</ActualWithPrimary>\n <Limit>300</Limit>\n <RawLimit>300</RawLimit>\n <Frozen>0</Frozen>\n </response_data>\n <echo>\n <provider_transaction_id/>\n <provider_timestamp/>\n <transaction_id>YFTLY4QW8HMJEAN7BALF</transaction_id>\n </echo>\n <rtoken>8cc16de0-5eda-4e2a-968e-3b08fce6f778</rtoken>\n <system_timestamp>2025-07-13 12:27:19</system_timestamp>\n</response>"
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 <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.
Pattern: PRN or PAN
Example: `"074103447228"`'
example: 074103447228
required:
- accountNo
- transactionId
- apiLogin
- apiTransKey
- providerId
tags:
- Overdraft
summary: Get Overdraft Balance
parameters: []
description: 'Use the Get Overdraft Balance endpoint to retrieve overdraft-related information such as available overdraft limit, payback amount, and > balance including overdraft.
For `accountNo` you can use the > or > of the core account that is associated with the overdraft account or the PRN of the overdraft account.'
operationId: post_getoverdraftbalance
/setOverdraftLimit:
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
overdraftAccountNo:
type: string
pattern: ^$|^([0-9]{12}|[0-9]{16})$
description: "The <<glossary:PRN>> of the overdraft account.\nPattern: 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:
- amount
- overdraftAccountNo
- 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:
old_overdraft_limit:
type: string
description: The previous overdraft limit for the account
new_overdraft_limit:
type: string
description: The updated overdraft limit for the 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.145,\n \"response_data\": {\n \"previous_overdraft_limit\": \"25.00\",\n \"old_overdraft_limit\": \"50.00\"\n },\n \"echo\": {\n \"provider_timestamp\": \"\",\n \"provider_transaction_id\": null,\n \"transaction_id\": \"JR91JXZLN7FXDLRILSEP\"\n },\n \"rtoken\": \"8a7b6c5d-4e3f-2g1h-0i9j-8k7l6m5n4o3p\",\n \"system_timestamp\": \"2026-04-10 13:05:01\"\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.145</processing_time>\n <response_data>\n <previous_overdraft_limit>25.00</previous_overdraft_limit>\n <old_overdraft_limit>50.00</old_overdraft_limit>\n </response_data>\n <echo>\n <provider_timestamp/>\n <provider_transaction_id/>\n <transaction_id>JR91JXZLN7FXDLRILSEP</transaction_id> \n </echo>\n <rtoken>8a7b6c5d-4e3f-2g1h-0i9j-8k7l6m5n4o3p</rtoken>\n <system_timestamp>2026-04-10 13:05:01</system_timestamp>\n</response>"
description: ''
summary: Set Overdraft Limit
tags:
- Overdraft
description: Use the Set Overdraft Limit endpoint to modify the overdraft limit for the specified account.
operationId: post_setoverdraftlimit
/getOverdraftLimitChangeHistory:
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
overdraftAccountNo:
type: string
pattern: ^$|^([0-9]{12}|[0-9]{16})$
description: "The <<glossary:PRN>> of the overdraft account.\nPattern: PRN \nExample: `\"074103447228\"`"
example: 074103447228
required:
- overdraftAccountNo
- 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: Response data structure
type:
- object
- 'null'
properties:
total_record_count:
type: integer
description: Total number of overdraft limit change records
changes:
type: array
description: List of all overdraft limit changes for the account
items:
type: object
properties:
timestamp:
type: string
description: The timestamp of the change
overdraft_limit:
type: string
description: Overdraft limit amount at the time
required:
- overdraft_limit
- 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.212,\n \"response_data\": {\n \"total_record_count\": 2,\n \"changes\": [\n {\n \"timestamp\": \"2026-04-10 13:05:01\",\n \"overdraft_limit\": \"50.00\"\n },\n {\n \"timestamp\": \"2026-01-15 09:30:00\",\n \"overdraft_limit\": \"25.00\"\n }\n ]\n },\n \"echo\": {\n \"provider_timestamp\": \" \",\n \"provider_transaction_id\": null,\n \"transaction_id\": \"TR91JXZLF7FXDLLILSEX\"\n },\n \"rtoken\": \"z9y8x7w6-v5u4-t3s2-r1q0-p9o8n7m6l5k4\",\n \"system_timestamp\": \"2026-04-10 13:15:23\"\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.212</processing_time>\n <response_data>\n <total_record_count>2</total_record_count>\n <changes>\n <timestamp>2026-04-10 13:05:01</timestamp>\n <overdraft_limit>50.00</overdraft_limit>\n </change>\n <change>\n <timestamp>2026-01-15 09:30:00</timestamp>\n <overdraft_limit>25.00</overdraft_limit>\n </changes>\n </response_data>\n <echo>\n <provider_timestamp/>\n <provider_transaction_id/>\n <transaction_id>TR91JXZLF7FXDLLILSEX</transaction_id>\n </echo>\n <rtoken>z9y8x7w6-v5u4-t3s2-r1q0-p9o8n7m6l5k4</rtoken>\n <system_timestamp>2026-04-10 13:15:23</system_timestamp>\n</response>"
description: ''
summary: Get Overdraft Limit Change History
tags:
- Overdraft
description: Use the Get Overdraft Limit Change History endpoint to retrieve a list of overdraft limit changes for a specified account.
operationId: post_getoverdraftlimitchangehistory
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