SoFi Technologies Overdraft API

The Overdraft API from SoFi Technologies — 3 operation(s) for overdraft.

Operations 3

POST /getOverdraftBalance Get Overdraft Balance #
POST /setOverdraftLimit Set Overdraft Limit #
POST /getOverdraftLimitChangeHistory Get Overdraft Limit Change History #

Documentation

Specifications

Other Resources

Work with this as data

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 Specification

sofi-technologies-overdraft-api-openapi.yml Raw ↑
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