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 <> 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: "\n\n 0\n Success\n 0.131\n \n 245101000066\n 175\n 0\n 0\n 175\n 993.5\n 300\n 300\n 0\n \n \n \n \n YFTLY4QW8HMJEAN7BALF\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-13 12:27:19\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. 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 idempotency. 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 <> 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: "\n\n 0\n Success\n 0.145\n \n 25.00\n 50.00\n \n \n \n \n JR91JXZLN7FXDLRILSEP \n \n 8a7b6c5d-4e3f-2g1h-0i9j-8k7l6m5n4o3p\n 2026-04-10 13:05:01\n" 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 idempotency. 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 <> 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: "\n\n 0\n Success\n 0.212\n \n 2\n \n 2026-04-10 13:05:01\n 50.00\n \n \n 2026-01-15 09:30:00\n 25.00\n \n \n \n \n \n TR91JXZLF7FXDLLILSEX\n \n z9y8x7w6-v5u4-t3s2-r1q0-p9o8n7m6l5k4\n 2026-04-10 13:15:23\n" 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