---
title: Silent Network Authentication
slug: us-apis/silent-network-authentication
description: Get valuable information on the Trust Score API, a powerful tool assessing phone number trustworthiness. Learn how to interpret the Trust Score, available response versions, and required parameters. Discover fields and data fields used in requests and res
docTags: 
createdAt: 2023-01-31T12:44:28.000Z
---

## Introduction

Signzy'&#x73;**&#x20;Silent Network Authentication APIs** provides a secure, frictionless mobile  verification mechanism using network-based identity. It enables fintechs and digital platforms to verify a user’s mobile number ownership without OTPs or explicit user input, by leveraging carrier header enrichment

### Common Use Cases

1. Onboarding flows for users
2. Step-up verification before transactions
3. Risk screening and SIM-change detection
4. KYC and compliance pre-checks

### How Silent Network Authentication Works

1. **Start the Session**
   Your backend calls the createAuthSession API with the user’s mobile number and (optionally) Mobile IP, a redirect and callback URL.
   &#x20;In response, Signzy returns a **unique mobile verification link** (mobileRedirectUrl).
2. **Open the Verification Link**
   You show this link to your user in mobile browser.
   When the user opens it **on their mobile network (not Wi-Fi)**, the mobile carrier securely confirms the device and number in the background.
3. **Automatic Verification**
   The network sends back a verification signal silently and the user doesn’t have to enter any code or number. Within a few seconds, the verification is complete.
4. **Get the Result**
   - If you provided a callbackUrl, Signzy automatically sends the result (verified or not) to your server.
   - If not, you can call the getIdentity API using the requestId from step 1 to fetch the verification status anytime.
5. **Redirect or End Session**
   &#x20;After the process, the user is either:
   - Redirected to your specified page (for example, back to your onboarding flow), or
   - Shown a short completion message if no redirect URL was provided.

### Supported Carrier Networks for Silent Auth

- T-Mobile
- Verizon
- Sprint
- AT\&T



Sample cURL

::::Tabs
:::Tab{title="Production"}
```curl
curl --location 'https://api.signzy.us/api/v3/silent-auth/createAuthSession' \
--header 'Content-Type: application/json' \
--header 'Authorization: XXXXXX' \
--data '{
   "mobileIP":"",
   "mdnHint":"1XXXXX",
   "redirectUrl":"",
   "callbackUrl":"",
   "showPage":"true",
   "timer": "1000",
   "showVerifScreen":"true",
   "options":{
       "mdnVerify":"true"
   }
}
'
```
:::

:::Tab{title="Pre-Production"}
```curl
curl --location 'https://api-preproduction.signzy.us/api/v3/silent-auth/createAuthSession' \
--header 'Content-Type: application/json' \
--header 'Authorization: XXXXXX' \
--data '{
   "mobileIP":"",
   "mdnHint":"1XXXXX",
   "redirectUrl":"",
   "callbackUrl":"",
    "showPage":"true",
   "timer": "1000",
   "showVerifScreen":"true",
   "options":{
       "mdnVerify":"true"
   }
}
'
```
:::
::::

### Request Body Parameters

| Key               | Type                      | Mandatory | Description                                                                                                                                     |
| ----------------- | ------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| mobileIP          | string                    | optional  | The IP address of the mobile device initiating the request. Must be a valid IPv4 or IPv6 address. Empty string allowed.                         |
| mdnHint           | string                    | required  | The mobile number (MDN) used for authentication. Must match pattern for US Numbers - starts with `1` followed by 10 digits (e.g., 1XXXXXXXXXX). |
| redirectUrl       | string                    | optional  | The URL to which the user will be redirected after authentication. Must be a valid URL. Empty string allowed.                                   |
| callbackUrl       | string                    | optional  | The webhook endpoint to receive the authentication result. Must be a valid URL. Empty string allowed.                                           |
| showPage          | string ("true" / "false") | optional  | Key to dictate the behaviour of warning page. If true, user will see a warning page with instruction to turn off the Wifi.  Default is "false". |
| timer             | string                    | optional  | Duration in milliseconds for which if the warning page if marked true must be shown. Must be in string  between "1000"to  "60000".              |
| showVerifScreen   | string ("true" / "false") | optional  | Whether to show the verification result screen after completion. In case false, the user will see a general message. Default is "false".        |
| options           | object                    | required  | Object containing additional configuration options.                                                                                             |
| options.mdnVerify | string ("true")           | required  | Indicates if MDN verification should be performed. Must be "true".                                                                              |

### Sample Response

:::CodeblockTabs
Response&#x20;

```json
{
    "result": {
        "dateTime": "2025-10-06T07:32:41.868Z",
        "requestId": "68e3709a20edce80fXXXXXXX",
        "status": "SUCCESS",
        "sessionId": "608E4C3A-1005-4EFF-AF56-XXXXXXX",
        "mobileRedirectUrl": "https://api.signzy.us/api/v3/silent-auth/identifyDevice?sessionId=608E4C3A-1005-4EFF-AF56-XXXXXXX"
    },
    "reason": "Request Successful",
    "code": "S001"
}
```
:::

### Response Body Parameters

| Key                          | Type   | Description                                                                                                                                                                                       |
| ---------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **result**                   | object | Contains the response details for the created Silent Auth session.                                                                                                                                |
| **result.dateTime**          | string | The timestamp when the request was processed, in ISO-8601 UTC format.<br />**Example:** `2025-10-06T07:32:41.868Z`                                                                                |
| **result.requestId**         | string | Unique identifier assigned to the API request for tracking. This will be used in the second API call.<br />**Example:** `68e3709a20edce80f911XXXX`                                                |
| **result.status**            | string | Indicates the status of the Silent Auth session creation.                                                                                                                                         |
| **result.sessionId**         | string | Unique identifier for the created Silent Auth session. Used for subsequent verification or device identification calls.<br />**Example:** `608E4C3A-1005-4EFF-AF56-XXXXXX`                        |
| **result.mobileRedirectUrl** | string | URL to which the mobile device should be redirected for device identification.<br />**Example:** `https://api.signzy.us/api/v3/silent-auth/identifyDevice?sessionId=608E4C3A-1005-4EFF-AF56-XXXX` |
| **reason**                   | string | Descriptive message explaining the overall response status.<br />**Example:** `Request Successful`                                                                                                |
| **code**                     | string | Response code representing the outcome of the API request.<br />**Example:** `S001`                                                                                                               |

### Sample Error

:::CodeblockTabs
E601 Internal Server Error

```json
{
    "result": {},
    "reason": "Internal Server Error",
    "status": "failure",
    "code": "E601"
}
```

E001 Invalid regex&#x20;

```json
### Invalid `mobileIP`
{
  "result": {},
  "reason": "mobileIP must be a valid IP address",
  "code": "E001"
}


### Missing `mdnHint`
{
  "result": {},
  "reason": "mdnHint is required",
  "code": "E001"
}


### Bad `mdnHint` format
{
  "result": {},
  "reason": "mdnHint must be a valid US mobile number (1 + 10 digits)",
  "code": "E001"
}

### Invalid `redirectUrl`
{
  "result": {},
  "reason": "redirectUrl must be a valid URI",
  "code": "E001"
}


### Invalid `callbackUrl`
{
  "result": {},
  "reason": "callbackUrl must be a valid URI",
  "code": "E001"
}


### Invalid `showPage`
{
  "result": {},
  "reason": "showPage must be either \"true\" or \"false\"",
  "code": "E001"
}

### Invalid `showVerifScreen`
{
  "result": {},
  "reason": "showVerifScreen must be either \"true\" or \"false\"",
  "code": "E001"
}

### `timer` not numeric
{
  "result": {},
  "reason": "timer must be a valid number in milliseconds",
  "code": "E001"
}


### `timer` < 1000
{
  "result": {},
  "reason": "timer must be at least 1000ms (1 second)",
  "code": "E001"
}

### `timer` > 60000
{
  "result": {},
  "reason": "timer cannot exceed 60000ms (1 minute)",
  "code": "E001"
}

### Missing `options`
{
  "result": {},
  "reason": "options is required",
  "code": "E001"
}


### Missing `options.mdnVerify`
{
  "result": {},
  "reason": "mdnVerify is required",
  "code": "E001"
}


### `options.mdnVerify` not `"true"`
{
  "result": {},
  "reason": "mdnVerify must be \"true\" only",
  "code": "E001"
}

```

E401 Upstream Failure

```json
{
    "result": {},
    "reason": "Upstream error",
    "code": "E401"
}
```
:::

### Error Response Parameters

| **Parameter** | **Description**        |
| ------------- | ---------------------- |
| result        | Empty result object    |
| reason        | Reason for error       |
| code          | Error code from Signzy |

### &#x20; Error Codes

| HTTP Status Code | Error Code | Description           |
| ---------------- | ---------- | --------------------- |
| 400              | E001       | Bad Request           |
| 401              | E101       | Unauthorized Access   |
| 403              | E201       | Forbidden             |
| 404              | E301       | not found             |
| 409              | E401       | Upstream error        |
| 429              | E501       | Rate Limit Exceeded   |
| 500              | E601       | Internal Server Error |
| 503              | E701       | Service Unavailable   |
| 504              | E801       | Timeout               |

### Success Codes

| HTTP Status Code | Success Code | Description         |
| ---------------- | ------------ | ------------------- |
| 200              | S001         | Request Successful. |

## Get Identity API

The **Get Identity API** retrieves verified mobile network information after a successful Silent Auth session.
This API uses the `requestId` obtained from the `createAuthSession` API to fetch verification results.

### API Details

Need to pass the following information. **Providing requestId is mandatory**.&#x20;

- **requestId**(required)

### Sample cURL

::::Tabs
:::Tab{title="Pre-Production"}
```curl
curl --location 'https://api-preproduction.signzy.us/api/v3/silent-auth/getIdentity' \
--header 'Content-Type: application/json' \
--header 'Authorization: <Auth Token>' \
--data '{
    "requestId": "<requestId>"
}'
```
:::

:::Tab{title="Production"}
```curl
curl --location 'https://api.signzy.us/api/v3/silent-auth/getIdentity' \
--header 'Content-Type: application/json' \
--header 'Authorization: <Auth Token>' \
--data '{
    "requestId": "<requestId>"
}'
```
:::
::::

### Request Body Parameters

The API expects the following input in the request payload:

```json
{
    "requestId": "<Request ID> (obtained from the first API)",
}
```

| **Parameter** | **Data Type** | **Required** | **Description**                                                              |
| ------------- | ------------- | ------------ | ---------------------------------------------------------------------------- |
| requestId     | string        | Yes          | **Required** Unique request ID generated for the input provided in async API |

### Sample Response

:::CodeblockTabs
Success S001

```json
{
  "result": {
    "requestId": "68e372e820edce80f911XXXX",
    "sessionId": "SESSION-TC001-1759736552703-XXXXX",
    "status": "SUCCESS",
    "mdnVerified": "true"
  },
  "reason": "Request Successful",
  "code": "S001"
}
```

Success S003

```json
{
    "result": {},
    "reason": "Data not Found",
    "code": "S003"
}
```
:::

### Response Body Parameters

| Key                    | Type                          | Description                                                                                         |
| ---------------------- | ----------------------------- | --------------------------------------------------------------------------------------------------- |
| **result**             | object                        | Contains verification results for the given `requestId`.                                            |
| **result.requestId**   | string                        | The unique identifier of the request, matching the input `requestId`.                               |
| **result.sessionId**   | string                        | The unique session identifier associated with the Silent Auth verification process.                 |
| **result.status**      | string                        | Indicates the overall result of the verification.<br />**Possible values:** `SUCCESS`, ERROR.       |
| **result.mdnVerified** | string (`"true"` / `"false"`) | Indicates whether the MDN (Mobile Directory Number) verification was successful.                    |
| **reason**             | string                        | A human-readable description of the API response outcome.<br />**Example:** `"Request Successful"`  |
| **code**               | string                        | API status code indicating success or failure.<br />**Example:** `"S001"` for successful responses. |

### Sample Error

:::CodeblockTabs
E301 Not Found

```json
{
    "result": {},
    "reason": "Session not found for requestId",
    "code": "E301"
}
```
:::

### Error Response Parameters

| **Parameter** | **Description**        |
| ------------- | ---------------------- |
| result        | Empty result object    |
| reason        | Reason for error       |
| code          | Error code from Signzy |

### &#x20; Error Codes

| HTTP Status Code | Error Code | Description           |
| ---------------- | ---------- | --------------------- |
| 400              | E001       | Bad Request           |
| 401              | E101       | Unauthorized Access   |
| 403              | E201       | Forbidden             |
| 404              | E301       | Not found             |
| 409              | E401       | Upstream error        |
| 429              | E501       | Rate Limit Exceeded   |
| 500              | E601       | Internal Server Error |
| 503              | E701       | Service Unavailable   |
| 504              | E801       | Timeout               |

### Success Codes

| HTTP Status Code | Success Code | Description         |
| ---------------- | ------------ | ------------------- |
| 200              | S001         | Request Successful. |
| 200              | S003         | Data not Found      |

:::hint{type="info"}
### Getting help

Please feel free to contact us if you have any questions, require clarification, or have ideas for how to make the documents or any of our services better.

You can reach out to us at [help@signzy.com](#). We strive to provide prompt and reliable assistance, ensuring your queries are addressed effectively.

We value your feedback and are committed to making your experience smooth and enjoyable. Our team is dedicated to assisting you with any needs you may have. Thank you for choosing our services. We look forward to helping you!
:::

