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