openapi: 3.2.0
info:
title: Program IVR API
version: '4.0'
servers:
- url: api-{corename}.{env}.gpsrv.com/intserv/4.0/
tags:
- name: IVR
paths:
/getIvrCallStatus:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
summary: Get IVR Call Status
description: Use the Get IVR Call Status endpoint to retrieve the status of outbound IVR calls. This endpoint connects your IVR system to the SoFi Tech Solutions IVR system for PIN setting.
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
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
callId:
type: integer
format: int32
description: 'The call identifier (`call_id`) as returned by the Create IVR Call endpoint.
Pattern: Integer
Example: `48347823`'
example: 48347823
required:
- accountNo
- callId
- transactionId
- apiLogin
- apiTransKey
- providerId
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:
call_id:
type: string
description: ID of the call
status:
type: string
description: Status of the call
status_desc:
type:
- string
- 'null'
description: Description of the status
max_attempts:
type:
- integer
- 'null'
format: int32
description: The maximum amount of attempted outbound calls allowed
attempt_count:
type:
- integer
- 'null'
format: int32
description: The number of attempted calls
required:
- attempt_count
- call_id
- max_attempts
- status
- status_desc
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.463,\n \"response_data\": {\n \"call_id\": \"295482\",\n \"status\": \"1\",\n \"status_desc\": \"Dialing\",\n \"max_attempts\": \"3\",\n \"attempt_count\": \"1\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"2ade01ea-b5f0-4193-9deb-7656158c12a5\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 14:36:01\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.023\n \n 295482\n 1\n Dialing\n 3\n 1\n \n \n \n \n b7c21f55-6675-493c-ba96-1f63c4b3fa03\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 14:36:02\n"
tags:
- IVR
operationId: post_getivrcallstatus
/createIvrCall:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
summary: Create IVR Call
description: Use the Create IVR Call endpoint to create an IVR call entry. This endpoint connects your IVR system to the SoFi Tech Solutions IVR system for PIN setting.
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
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: ^.+$
description: 'The <> or <> of the account.
Pattern: PAN or PRN
Example: `"074103447228"`'
example: 074103447228
callType:
type: string
pattern: ^([a-zA-Z0-9]{1,4})$
description: 'The type of call. `CPIN` is the only valid value.
Pattern: Alphabetic string
Example: `"CPIN"`'
example: CPIN
callParams:
type: string
description: 'JSON-encoded array of call parameters.
Pattern: JSON string
Example: `"{"panLastFour":"1234", "passCode":"0123", "expiryDate":"2011-01-01"}"`'
example: '{"panLastFour":"1234", "passCode":"0123", "expiryDate":"2011-01-01"}'
phone:
type:
- string
- 'null'
description: 'Phone number where to route outbound calls. This number supersedes any account-related phone numbers.
Pattern: Exactly 10 digits, no hyphens or other characters
Example: `"8013656060"`'
example: '8013656060'
required:
- accountNo
- callParams
- callType
- transactionId
- apiLogin
- apiTransKey
- providerId
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:
call_id:
type: string
description: ID of the call
required:
- call_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.481,\n \"response_data\": {\n \"call_id\": \"295502\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"6af501df-51f4-464c-8b81-f5d31c794a93\"\n },\n \"rtoken\": \"8cc16de0-5eda-4e2a-968e-3b08fce6f778\",\n \"system_timestamp\": \"2025-07-15 15:50:49\"\n}"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.477\n \n 295503\n \n \n \n \n 21839512-1172-4551-ad9f-2047172bae7a\n \n 8cc16de0-5eda-4e2a-968e-3b08fce6f778\n 2025-07-15 15:51:26\n"
tags:
- IVR
operationId: post_createivrcall
/getIvrCallIdentifier:
parameters:
- $ref: '#/components/parameters/ResponseContentTypeHeaderParam'
post:
summary: Get IVR Call Identifier
description: Use the Get IVR Call Identifier endpoint to retrieve the most recent `actpeg_id` associated with an inbound phone number. This identifier links a customer's phone number to a call record. The Get IVR Call Identifier endpoint connects your IVR system to the SoFi Tech Solutions IVR system for PIN setting.
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
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
phoneNo:
type:
- string
- 'null'
pattern: ^([0-9]{10})$
description: "Phone number.\nPattern: Exactly 10 digits, no hyphens or other characters \nExample: `\"8013656060\"`"
example: '8013656060'
required:
- transactionId
- apiLogin
- apiTransKey
- providerId
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:
actpeg_id:
type: string
description: IVR call identifier
required:
- actpeg_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 \"actpeg_id\": \"228595836\"\n },\n \"echo\": {\n \"provider_transaction_id\": \"\",\n \"provider_timestamp\": null,\n \"transaction_id\": \"354af4ad-0007-4e3a-9bd9-35aa7dd257e5\"\n },\n \"system_timestamp\": \"2025-05-14 08:23:22\",\n \"rtoken\": \"849d1f17-b1de-4974-a14e-18a431b165bd\"\n}\n"
application/xml:
examples:
response:
value: "\n\n 0\n Success\n 0.441\n \n 228595835\n \n \n \n \n cebc7cf0-30c4-4022-b5d8-88bcf5d1e8da\n \n 2025-05-14 08:25:16\n 7d96ca71-5a6b-4ef3-aaa5-d59e34a9ee6b\n"
tags:
- IVR
operationId: post_getivrcallidentifier
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