Silent Network Authentication User Guide


Introduction

Fraudsters are increasingly using social engineering and techniques such as phishing and sim swapping to access the accounts of individuals. When successful this can enable fraudsters to view private records, initiate money transfers, and impersonate individuals.

Enterprises can protect themselves and their customers by using Silent Network Authentication and other Syniverse services such as Phone Number Verification and SIM Swap Protection.

Service Overview

Silent Network Authentication enables Enterprises to reduce risk of phishing attacks during authentication and lower the frictions customers experience on sign in. Common use cases are integration into a mobile app for login, or an additional authentication step for high risk/value transactions.

The SNA APIs are a REST-like server-to-server APIs and requires Enterprises to host the end-user-facing user interface and obtain end-user consent.

Enterprises can call these APIs to authenticate end-users utilizing their handheld device against carrier data. The authentication results can be used to ensure that the device the end user is accessing a mobile app or web app from belongs to the phone number they have provided.         

 

API Call

Function

fa

This API call is used to initiate an authentication session with Syniverse and obtain a callback URL for the mobile carrier who owns the device.

callbackUrl

A url that is required to be accessed via the end-users mobile device over carrier data for authentication.

status

This API call is used to obtain the current status of the authentication session.

 

 

Integration

Security and Encryption

Since Syniverse’s Mobile Identity platform handles sensitive end-user information, utmost care is taken to safeguard this information at all times. Syniverse implements multiple layers of security between the Enterprise system and Syniverse’s system.

1.     Secure Communication Channel: All communication between the Enterprise’s system and Syniverse’s system takes place over HTTPS (TLS version 1.2 or above).

2.     OAuth 2.0 Authentication: Enterprises are provisioned with a Client ID and Client Secret during onboarding. To access APIs, the Enterprise system must obtain an OAuth 2.0 Bearer Token by authenticating with Syniverse’s authorization server using the Client ID and Client Secret.

The Bearer Token must be included in the Authorization header of all API requests. Syniverse processes the request only if it comes with a valid Bearer Token. Please contact Syniverse Support to manage credential lifecycle or resolve authentication issues.

 

Security Credentials

The following lists all possible credentials provided by Syniverse to ensure authentication of APIs, security and privacy of the end-user information.

 

API Call

Security Values

Utilization

Key Length

fa

 

Client ID, Client Secret, Bearer Token

Client ID and Client Secret are used to obtain a Bearer Token.

Client ID, Client Secret, Bearer Token

status

 

Client ID, Client Secret, Bearer Token

Client ID and Client Secret are used to obtain a Bearer Token.

Client ID, Client Secret, Bearer Token

 

Constructing Requests

Syniverse exposes easy-to-use REST-like APIs and requests should be sent as JSON objects. Enterprises can use standard libraries to create the requests. Below table shows the request header details for each JSON API.

 

Request header details

Parameter

      Description

Required

Content-Type

       Media type sent in the request. Only application/json is supported.

       Example Content-Type: application/json

Yes

Authorization

       OAuth 2.0 Bearer Token obtained using your Client ID and Client Secret.

       Example Authorization: Bearer token eyJhbGciOiJSUzI1NiIsInR5cCI6...

Yes

 

Processing Response

The Syniverse Mobile Identity platform returns response values as JSON objects. Enterprises should use a JSON parser to extract the information. Below table shows Response header details for each JSON API.

Response header details

Parameter

Description

Content-Type

       Media type sent in the response.

       Example Content-Type: application/json

 

Sandbox

During integration the Enterprise will use the Mobile Identity sandbox to develop and test against. The sandbox provides dummy data to simplify testing of different scenarios and test cases.

 

Access details & credentials for the sandbox will be provided by Syniverse during onboarding. 

 

API Specifications

Silent Network Authentication

Create Session URL

https://serverurl/v1/fa

The actual URL will be provided during onboarding. Separate URLs will be provided for the Sandbox and Production systems.

 

Request parameter details

Parameter

Description

 

Required

phoneNumber

The end-user’s mobile number to be used in E.164 international format.

Example msisdn: +14444441111

Yes

 

 

Response parameter details, if API call is successful

Parameter

Description

callbackUrl

A url that is required to be accessed via the end-users mobile device over carrier data for authentication.

 

Response parameter details, if API call is unsuccessful

Parameter

      Description

error

A brief explanation of the error that occurred.

       Example error: Invalid phone number +100020003000

type

The type of error that occurred. This can provide more information about where in the process the error occurred.

       Example type: validation

errorCode

Indicates the reason the call failed.

       Example errorCode: 4010

 

Handset connection to URL

The callbackUrl needs to be accessed via handset for there to be a change in status for the Check Session call.

 

Check Session

https://serverurl/v1/fa/status

The actual URL will be provided during onboarding. Separate URLs will be provided for the Sandbox and Production systems.

 

Request parameter details

Parameter

Description

 

Required

phoneNumber

The end-user’s mobile number to be used in E.164 international format.

Example msisdn: +14444441111

Yes

 

Response parameter details, if API call is successful

Parameter

Description

status

The status of the authentication session for the provided phone number.

Example status: pending

createdAt

The time at which the authentication session for the provided phone number was created.

updatedAt

The time at which the authentication session for the provided phone number was last updated.

 

Response parameter details, if API call is unsuccessful

Parameter

      Description

error

A brief explanation of the error that occurred.

       Example error: Invalid phone number +100020003000

type

The type of error that occurred. This can provide more information about where in the process the error occurred.

       Example type: validation

errorCode

Indicates the reason the call failed.

       Example errorCode: 20404

 

Example Calls

Example Session Creation

POST https://serverurl/v1/fa

Content-Type: application/json

Authorization: qPrOHV9HuUaicXrK9I9hM5pmR2QG

{

"phoneNumber":"+18134005000",

}

 

Example successful response 

HTTP/1.1 200 OK

Content-Type: application/json

{

  "callbackUrl": "https://serverurl/v1/fac?data=C6/lRCBaRAacPHKdfC10oDKsn5vBI8lDY1GM0nMr5D7poueOBk92YRxPaPW/xxt..."

}

 

Example error response  

HTTP/1.1 400 Bad Request

Content-Type: application/json

{

  "errors": [

    {

      "error": "Invalid phone number +181340005000",

      "type": "validation",

      "errorCode": 4010

    }

  ]

}

 

Example Status Check

POST https://serverurl/v1/fa/status

Content-Type: application/json

Authorization: qPrOHV9HuUaicXrK9I9hM5pmR2QG

{

"phoneNumber":"+18134005000",

}

 

Example successful response 

HTTP/1.1 200 OK

Content-Type: application/json

{

  "status": "pending",

  "createdAt": "2024-08-23T12:48:41.429Z",

  "updatedAt": "2024-08-23T12:48:41.429Z"

}

 

Example error response  

HTTP/1.1 400 Bad Request

Content-Type: application/json

{

  "errors": [

    {

      "error": "The requested resource does not exist",

      "type": "other",

      "errorCode": 20404

    }

  ]

}

 

 Appendix A - Error Codes and Descriptions (Error Object)

 

Error Code

Error Description

Comments

Recommended Action

4001

JSON Parsing Error Code.

Invalid JSON body in the request.

Please retry with JSON matching the schema.

4002

JSON Decode Error Code.

Invalid JSON body in the request.   

Please retry with JSON matching the schema.

4003

Decode Error Code.

Internal error.

Integration Issue. Contact Syniverse Support for help.

4010

Invalid Phone Number Error Code.

Phone number cannot be recognized.

Integration Issue. Contact Syniverse Support for help.

4040

Auth Invalid JWT Error Code.

Authentication failed.

Integration Issue. Contact Syniverse Support for help.

4041

Auth Authorization Failed Error Code.

Authentication failed.

Integration Issue. Contact Syniverse Support for help.

4042

Auth Non-Prod Account Rejected Failed Error Code.

Account cannot be recognized.

Integration Issue. Contact Syniverse Support for help.

4051

Invalid SNA Callback Data Query Parameter.

Query parameter cannot be recognized.

Integration Issue. Contact Syniverse Support for help.

4400

Generic Client Error.

Generic client error.

Integration Issue. Contact Syniverse Support for help.

4404

Generic Not Found.

Generic error.

Integration Issue. Contact Syniverse Support for help.

4510

Generic Twilio Server Error.

Generic error.

Integration Issue. Contact Syniverse Support for help.

5001

Auth Exception Error Code.

Authentication failed.

Integration Issue. Contact Syniverse Support for help.

5002

Logic Exception Error Code.

Unsupported version.

Integration Issue. Contact Syniverse Support for help.

5013

Twilio Server Not Available Error Code.

Exceeded time to perform end-user identification.

Do not retry. Terminate transaction and exit.

5024

Timeout Error Code.

Timeout Error.

Integration Issue. Contact Syniverse Support for help.

20404

Not Found.

Generic error.

Integration Issue. Contact Syniverse Support for help.

60006

Invalid Phone Number.

Invalid Phone Number.

Integration Issue. Contact Syniverse Support for help.

60008

Unsupported Carrier.

Unsupported Carrier.

Integration Issue. Contact Syniverse Support for help.

60607

Lookup Unsupported Country. 

Lookup Unsupported Country. 

Integration Issue. Contact Syniverse Support for help.

60620

Lookup Sim Swap Info Incomplete from Carrier.

Lookup Sim Swap Info Incomplete from Carrier.

Integration Issue. Contact Syniverse Support for help.

60419

SNA Verification Result Pending.

SNA Verification Result Pending.

Integration Issue. Contact Syniverse Support for help.