# TPS JSON API request

Source: [https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html)

The Terrestrial Positioning Service (TPS) JSON API requests the geographic location of the
        device based on observed access points, cell towers, and GPS locations using JSON.

**Endpoint URL**: [https://global.skyhook.com/wps2/json/location](https://global.skyhook.com/wps2/json/location)

**HTTP method**: POST

**HTTP authentication**: See [HTTP authentication methods](https://docs.qualcomm.com/doc/80-42204-1/topic/aps-json-api-headers-and-auth.html#HTTP_authentication_methods_3).

**Tunables**

    {
      //tunables parameters
      "considerIp": "true",
      "hpeConfidence": 68,
      "includeLocationSource": "true",
      "includeBeaconCounts": "true",
      "allowSingleAPLocation": "true",
      "streetAddressLookupType": "full",
    
      //beacon information
      "wifiAccessPoints": [...],
      "cellTowers": [...],
      "gpsLocations": [...],
      "ibcnBleBeacons": [...],
      "eddyStoneBleBeacons": [...],
      "altBleBeacons": [...],
    }
    Copy to clipboard

**Syntax**

    {
      "considerIp": "true",
      "hpeConfidence": 68,
      "includeLocationSource": "true",
      "includeBeaconCounts": "true",
      "allowSingleAPLocation": "true",
      "wifiAccessPoints": [...],
      "cellTowers": [...],
      "gpsLocations": [...],
      "ibcnBleBeacons": [...],
      "eddyStoneBleBeacons": [...],
      "altBleBeacons": [...],
      "streetAddressLookupType": "full"
    }
    Copy to clipboard

**Parameters**

| Parameter | Values | Description |
| --- | --- | --- |
| `considerIP` | <ul class="ul"><br>                  <li class="li">True (default)</li><br><br>                  <li class="li">False </li><br><br>                </ul> | (Optional) The TPS attempts to locate the client based on the IP address of the<br>                client. <br>This parameter is operational only when:<ul class="ul" id="TPS_JSON_API_request_4__ul_hhf_drp_gyb_kelvinb_07-28-23-1057-28-985"><br>                    <li class="li">Set to <code class="ph codeph">true</code>.</li><br><br>                    <li class="li">The client location can't be determined based on provided Wi-Fi access<br>                      points, cell towers, or GPS locations. </li><br><br>                  </ul> |
| `hpeConfidence` | <ul class="ul"><br>                  <li class="li">68 (default) </li><br><br>                  <li class="li">95</li><br><br>                </ul> | (Optional) Requests reported uncertainty (HPE) percentile change. For example,<br>                a value of 95 reports 95% uncertainty.<br>Note: The default 68%<br>                  confidence is supported in TPS v2.28 and later. For 95% confidence, set<br>                    `hpeConfidence` to 95 in the location request. |
| `includeLocationSource` | <ul class="ul"><br>                  <li class="li">True </li><br><br>                  <li class="li">False (default)</li><br><br>                </ul> | (Optional) Set to ` true` to display the source of the location<br>                in the location response. |
| `includeBeaconCounts` | <ul class="ul"><br>                  <li class="li">True </li><br><br>                  <li class="li">False (default)</li><br><br>                </ul> | (Optional) Set to `true` to display the beacon counts in the<br>                location response. |
| `allowSingleAPLocation` | <ul class="ul" id="TPS_JSON_API_request_4__ul_kjt_2rs_vfc"><br>                  <li class="li">True </li><br><br>                  <li class="li">False</li><br><br>                </ul> | <ul class="ul" id="TPS_JSON_API_request_4__ul_gxw_hrs_vfc"><br>                  <li class="li">Set to <code class="ph codeph">true</code> to return a coarse location estimate when only<br>                    one known access point is present in the request.</li><br><br>                  <li class="li">Set to <code class="ph codeph">false</code> to stop returning locations with only one known<br>                    access point.</li><br><br>                </ul><br><br>                <br>Note: Set the value of `Skyhook-Proto-Ver`<br>                  HEADER to at least `2.41` version. |
| [wifiAccessPoints](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html#Wi_Fi_access_points__5) | – | List of entries corresponding to the Wi-Fi access points scanned by the<br>                client. |
| [cellTowers](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html#Scanned_cell_tower_group_6) | – | List of entries corresponding to the cell towers scanned by the client. The<br>                contents of each entry depend on the type of cell tower: GSM, LTE, UMTS, WCDMA,<br>                CDMA, NB-IoT. |
| [gpsLocations](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html#GPS_locations_14) | – | List of GPS locations available to the client. |
| [ibcnBleBeacons](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html#IBeacon_BLE_16) | – | List of iBeacon Qualcomm® Bluetooth Low Energy (BLE)<br>                beacons scanned by the client. |
| [eddyStoneBleBeacons](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html#Eddystone_BLE_17) | – | List of Eddystone BLE beacons scanned by the client. |
| [altBleBeacons](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html#altBeacon_BLE_18) | – | List of altBeacon BLE beacons scanned by the client. |
| `streetAddressLookupType` | <ul class="ul"><br>                  <li class="li">Full </li><br><br>                  <li class="li">Limited</li><br><br>                </ul> | <ul class="ul"><br>                  <li class="li">Set to <code class="ph codeph">full</code> to return all address attributes. </li><br><br>                  <li class="li">Set to <code class="ph codeph">limited</code> to return only city and state attributes.<br>                  </li><br><br>                </ul><br><br>                <br>If a value isn't specified in the request, the street address lookup attributes<br>                  won't be returned. |

## Scanned Wi-Fi access points

Source: [https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html)

Provides a list of entries corresponding to the Wi-Fi access points scanned by the
        client.

Note: This list contains the MAC addresses of the surrounding Wi-Fi
        access points. However, the list doesn't include the MAC address of the requesting device
        because it doesn't provide any value for location.

**Syntax**

    {
      "macAddress": "00:0C:41:82:D8:8C",
      "ssid" : "myNetworkName",
      "signalStrength": -50,
      "age": 0,
      "frequency": 2484,
      "channel": 11,
      "connected": true
    }
    Copy to clipboard

**Parameters**

| Parameter | Values | Description |
| --- | --- | --- |
| `macAddress` | – | A string of hexadecimal characters representing a 6‑byte MAC address.<br>Pairs<br>                  of hexadecimal characters are separated by colon (:). |
| `ssid` | – | (Optional) Service Set Identifier (SSID) of the access point. |
| `signalStrength` | – | (Optional) Observed signal strength of the access point, in decibels<br>                (dBm). |
| `age` | – | (Optional) Relative age of the measurement, in milliseconds or<br>                timestamp. |
| `frequency` | – | (Optional) Frequency of scanned Wi-Fi access point, in MHz. |
| `channel` | – | (Optional) Channel number of scanned Wi-Fi access point. <br>Note: Only one frequency or channel<br>                  should be provided. |
| `connected` | <ul class="ul" id="Wi_Fi_access_points__5__ul_gtq_mqk_lyb_kelvinb_08-14-23-1525-29-940"><br>                  <li class="li">True</li><br><br>                  <li class="li">False</li><br><br>                </ul> | (Optional) Indicates whether the client device is currently connected to the<br>                Wi-Fi access point. |

## Scanned cell towers

Source: [https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html)

The scanned cell tower group allows the input of observed cell towers. Multiple towers and
      multiple types of cell towers are allowed.

Optionally, the cell tower list can include neighbors cell measurements (NMRs) in addition to
      serving cells. Neighbor cells can be provided with the full cell IDs (as serving cell) or
      partial IDs (labeled in the table as NMRs).

Note: Partial cell ID must be accompanied by
      at least one serving cell.

### GSM cell tower 

Source: [https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html)

Provides a list of entries corresponding to the GSM cell towers scanned by the client.

**Syntax**

    {
      "radioType": "gsm",
      "mobileCountryCode": 722,
      "mobileNetworkCode": 310,
      "locationAreaCode": 8022,
      "cellId": 32508,
      "neighborId": 230,
      "timingAdvance": 0,
      "signalStrength": -50,
      "age": 533,
      "channel": 40,
      "band": "GSM 480",
      "serving": true
    }
    Copy to clipboard

**Parameters**

| Parameter | Values | Description |
| --- | --- | --- |
| `radioType` | – | Type of the cell tower. |
| `mobileCountryCode` | – | Indicates the mobile country code. |
| `mobileNetworkCode` | – | Indicates the mobile network code. |
| `locationAreaCode` | – | Indicates the local area code. |
| `cellId` | – | Indicates the cell ID. |
| `neighborId` | Range: 0 to 63 | (Optional) GSM BSIC composed of a 3‑bit Network Color Code (NCC) and a 3‑bit<br>                Base station Color Code (BCC). |
| `timingAdvance` | Range: 0 to 63 | (Optional) GSM time advance value (TA) when in connected mode. Integer value as<br>                per 3GPP Technical Specification 45.00 (GSM). |
| `signalStrength` | – | Signal strength of the cell, in dBm. |
| `age` | – | Relative age of the measurement, in milliseconds or timestamp. |
| `channel` | – | (Optional) 16‑bit GSM channel number (ARFCN). |
| `band` | GSM 480 | (Optional) GSM band. |
| `serving` | <ul class="ul" id="GSM_cell_tower__7__ul_ajw_gjk_jyb_kelvinb_08-07-23-1053-17-890"><br>                  <li class="li">False (default)</li><br><br>                  <li class="li">True </li><br><br>                </ul> | (Optional) Indicates whether the client device is currently associated with the<br>                cell tower. |

### UMTS/WCDMA cell tower 

Source: [https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html)

Provides a list of entries corresponding to the UMTS/WCDMA cell towers scanned by
                the client.

**Syntax**

    {
      "radioType": "UMTS",
      "mobileCountryCode": 730,
      "mobileNetworkCode": 2,
      "locationAreaCode": 64300,
      "cellId": 4633170,
      "neighborId": 230,
      "signalStrength": -50,
      "signalQuality": "-13", 
      "channel": 40,
      "serving": true
    }
    Copy to clipboard

**Parameters**

| Parameter | Values | Description |
| --- | --- | --- |
| `radioType` | UMTS or WCDMA | Type of the cell tower. |
| `mobileCountryCode` | – | Indicates the mobile country code. |
| `mobileNetworkCode` | – | Indicates the mobile network code. |
| `locationAreaCode` | – | (Optional) Indicates the local area code. |
| `cellId` | – | UMTS UC\_ID (combination of RNDid and Cell\_ID) with a total of 28 bits as per<br>                3GPP Technical Specification 25.401.<br>Populating cell ID with 16 bits may result in<br>                  incorrect tower information. |
| `neighborId` | Range: 0 to 511 | (Optional) UMTS local cell ID (PSC). |
| `signalStrength` | – | Signal strength of UMTS cell, RSCP in dBm. |
| `signalQuality` | Range: -24 to 1 | (Optional) Signal quality of UMTS cell. |
| `age` | – | Relative age of the measurement, in milliseconds or timestamp. |
| `channel` | – | (Optional) 16‑bit UMTS channel number (UARFCN). |
| `serving` | <ul class="ul" id="UMTS_WCDMA_cell_tower__8__ul_ajw_gjk_jyb_kelvinb_08-07-23-1053-17-890"><br>                  <li class="li">False (default)</li><br><br>                  <li class="li">True </li><br><br>                </ul> | (Optional) Indicates whether the client device is currently associated with the<br>                cell tower. |

### LTE cell tower 

Source: [https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html)

Provides a list of entries corresponding to the LTE cell towers scanned by the client.

**Syntax**

    {
      "radioType": "lte",
      "mobileCountryCode": 730,
      "mobileNetworkCode": 2,
      "locationAreaCode": 0,
      "cellId": 20118,
      "neighborId": 230,
      "timingAdvance": 0,
      "signalStrength": -50,
      "signalQuality": "-29",
      "signalToNoiseRatio": "11",
      "channelQualityIndicator": "12",   
      "age": 533,
      "channel": 40,
      "serving": true
    }
    Copy to clipboard

**Parameters**

| Parameter | Values | Description |
| --- | --- | --- |
| `radioType` | – | Type of the cell tower. |
| `mobileCountryCode` | – | Indicates the mobile country code. |
| `mobileNetworkCode` | – | Indicates the mobile network code. |
| `locationAreaCode` | – | (Optional) Indicates the LTE tracking area code (TAC). |
| `cellId` | – | LTE E-CGI (EUCID); 28 bits. |
| `neighborId` | Range: 0 to 503 | (Optional) ID of LTE local cell (PCI). |
| `timingAdvance` | <ul class="ul" id="LTE_cell_tower__9__ul_azp_djk_jyb_kelvinb_08-07-23-1052-20-846"><br>                  <li class="li">Default range: 0 to 1282 </li><br><br>                  <li class="li">Extended range: 0 to 7690</li><br><br>                </ul> | (Optional) Length of time a signal takes to reach the base station from a<br>                mobile phone, half of round-trip time (RTT).<br>The units are LTE 16xTs symbols as<br>                  specified in Section 4.2.3 of 3GPP Technical Specification 36.213 and 36.133<br>                  (LTE). |
| `signalStrength` | – | (Optional) Signal strength of the cell (RSRP) received from the LTE tower, in<br>                dBm. |
| `signalQuality` | Range: -34 to 3 | (Optional) Signal quality of the LTE cell. |
| `signalToNoiseRatio` | Range: -20 to 30 | (Optional) Signal-to-noise ratio of the LTE cell. |
| `channelQualityIndicator` | Range: 0 to 15 | (Optional) Indicator of LTE cell channel quality. |
| `age` | – | Relative age of the measurement, in milliseconds or timestamp. |
| `channel` | – | (Optional) 18‑bit 3GPP channel number (EARFCN). |
| `serving` | <ul class="ul" id="LTE_cell_tower__9__ul_ajw_gjk_jyb_kelvinb_08-07-23-1053-17-890"><br>                  <li class="li">False (default)</li><br><br>                  <li class="li">True </li><br><br>                </ul> | (Optional) Indicates whether the client device is currently associated with the<br>                cell tower. |

### CDMA cell tower

Source: [https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html)

Provides a list of entries corresponding to the CDMA cell towers scanned by the client.

**Syntax**

    {
      "radioType": "cdma",
      "mobileNetworkCode": 2,
      "locationAreaCode": 251,
      "cellId": 65530,
      "neighborId": 230,
      "timingAdvance": 0,
      "signalStrength": -50,
      "age": 533,
      "channel": 40,
      "band": 1800,
      "serving": true
    }
    Copy to clipboard

**Parameters**

| Parameter | Values | Description |
| --- | --- | --- |
| `radioType` | – | Type of the cell tower. |
| `mobileNetworkCode` | – | Indicates the CDMA system identifier (SID). |
| `locationAreaCode` | – | Indicates the CDMA network identifier (NID). |
| `cellId` | – | Indicates the CDMA base system identifier (BSID). |
| `neighborId` | Range: 0 to 511 | (Optional) ID of CDMA local cell (PNCODE). |
| `timingAdvance` | Range: 0 to 7690 | Length of time a signal takes to reach the base station from a mobile phone,<br>                half of round-trip time (RTT).<br>The units are Ts symbols as specified in 3GPP<br>                  Technical Specification 36.133 (LTE). |
| `signalStrength` | – | (Optional) Signal strength (pilot power) of the cell received from the tower,<br>                in dBm. |
| `age` | – | Relative age of the measurement, in milliseconds or timestamp. |
| `channel` | – | (Optional) 18‑bit CDMA channel number. |
| `band` | – | (Optional) CDMA band; string. |
| `serving` | <ul class="ul" id="CDMA_cell_tower__10__ul_ajw_gjk_jyb_kelvinb_08-07-23-1053-17-890"><br>                  <li class="li">False (default)</li><br><br>                  <li class="li">True </li><br><br>                </ul> | (Optional) Indicates whether the client device is currently associated with the<br>                cell tower. |

### NB-IoT cell tower 

Source: [https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html)

Provides a list of entries corresponding to the NB-IoT cell towers scanned by the client.

**Syntax**

    {
      "radioType": "nbiot",
      "mobileCountryCode": 450,
      "mobileNetworkCode": 8,
      "locationAreaCode": 4616,
      "cellId": 7635205,
      "neighborId": 230,
      "timingAdvance": 0,
      "signalStrength": -50,
      "age": 533,
      "channel": 40,
      "serving": true
    }
    Copy to clipboard

**Parameters**

| Parameter | Values | Description |
| --- | --- | --- |
| `radioType` | – | Type of the cell tower. |
| `mobileCountryCode` | – | Indicates the mobile country code. |
| `mobileNetworkCode` | – | Indicates the mobile network code. |
| `locationAreaCode` | – | (Optional) Indicates the NB-IoT tracking area code (TAC). |
| `cellId` | – | NB-IoT cell ID; 28 bits. |
| `neighborId` | Range: 0 to 503 | (Optional) ID of NB-IoT local cell (NCID). |
| `timingAdvance` | <ul class="ul" id="NB_IoT_cell_tower__11__ul_nr2_yjk_jyb_kelvinb_08-07-23-1058-22-311"><br>                  <li class="li">Default range: 0 to 1282</li><br><br>                  <li class="li">Extended range: 0 to 7690</li><br><br>                </ul> | (Optional) The length of time a signal takes to reach the base station from a<br>                mobile phone, half of round-trip time (RTT). <br>The units are LTE 16xTs symbols as<br>                  specified in Section 4.2.3 of 3GPP Technical Specification 36.213 and 36.133<br>                  (LTE). |
| `signalStrength` | – | (Optional) Signal strength of the cell (NRSRP) received from the NB-IoT tower,<br>                in dBm. |
| `age` | – | Relative age of the measurement, in milliseconds or timestamp. |
| `channel` | – | (Optional) 18‑bit 3GPP channel number (EARFCN). |
| `serving` | – | (Optional) Indicates whether the client device is currently associated with the<br>                cell tower. |

### NR tower (5G, New Radio)

Source: [https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html)

Provides a list of entries corresponding to the 5G NR cell towers scanned by the client.

**Syntax**

    {
      "radioType": "nr",
      "mobileCountryCode": 310,
      "mobileNetworkCode": 410,
      "locationAreaCode": 16777200,
      "cellId": 6871947673,
      "neighborId": 503,
      "timingAdvance": 0,
      "signalStrength": -44,
      "signalQuality": -29,
      "signalToNoiseRatio": 11,
      "channelQualityIndicator": 12,
      "signalReferenceType": "csi",   
      "age": 533,
      "channel": 412,
      "serving": true
    }
    Copy to clipboard

**Parameters**

| Parameter | Values | Description |
| --- | --- | --- |
| `radioType` | – | Type of the cell tower. <br>Use a global value if this field isn't<br>                  populated. |
| `mobileCountryCode` | – | Indicates the mobile country code. |
| `mobileNetworkCode` | – | Indicates the mobile network code. |
| `locationAreaCode` | Range: 0 to 16777215 | (Optional) Indicates the NR tracking area code (TAC). |
| `cellId` | – | 5G local cell ID; 36 bits. |
| `neighborId` | Range: 0 to 1007 | (Optional) 5G local cell ID; equivalent to PCI in LTE (range: 0 to 503). |
| `timingAdvance` | Range: 0 to 3846 | (Optional) Length of time a signal takes to reach the base station from a<br>                mobile phone, half of round-trip time (RTT).<br>The units Ts symbols as specified in<br>                  3GPP Technical Specification 28.212. |
| `signalStrength` | – | (Optional) Signal strength of the cell (CSI-RSRP) received from the NR tower,<br>                in dBm. |
| `signalQuality` | Range: -34 to 3 | (Optional) Signal quality of the NR cell. |
| `signalToNoiseRatio` | Range: -20 to 30 | (Optional) Signal-to-noise ratio of the NR cell. |
| `channelQualityIndicator` | Range: 0 to 15 | (Optional) Indicator of NR cell channel quality. |
| `signalReferenceType` | Null (default) | (Optional) Type of signal reference. Applicable to 5G NR cells.<br>Enum: [csi,<br>                  ss]. Defaults to null and not case-sensitive. |
| `age` | – | Relative age of the measurement, in milliseconds or timestamp. |
| `channel` | – | (Optional) 24‑bit 3GPP channel number (NRARFCN). |
| `serving` | <ul class="ul" id="NR_tower__5G__New_Radio__12__ul_ajw_gjk_jyb_kelvinb_08-07-23-1053-17-890"><br>                  <li class="li">False (default)</li><br><br>                  <li class="li">True </li><br><br>                </ul> | (Optional) Indicates whether the client device is currently associated with the<br>                cell tower. |

### Neighbor cell reporting

Source: [https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html)

Neighbor cells improve cell-based accuracy and yield. The TPS JSON API supports reporting of
        neighbor cells with partial identity.

The key requirements for neighbor cell reporting are as follows:

- At least one cell must be fully qualified, that is, it must include all non-optional
          cell ID elements.
- Neighbor cells with partial identity should include at least `neighborId`
          and `channel` elements.
- When the serving cell is 4G (LTE), for example, it's common to see neighbor cells from
          4G/3G/2G.
- When available, neighbor cells can be reported with full identity.

**Sample request**
The following example includes a fully qualified serving LTE cell
        with all cell identifiers specified, an LTE neighbor cell, and a UMTS neighbor
      cell:

    {
      "considerIp": "false",
      "cellTowers": [
        {
          "radioType": "lte",
          "mobileCountryCode": 730,
          "mobileNetworkCode": 2,
          "locationAreaCode": 63010,
          "cellId": 20118,
          "neighborId": 230,
          "timingAdvance": 0,
          "signalStrength": -50,
          "age": 533,
          "channel": 5110,
          "serving": true
        },
        {
          "radioType": "lte",
          "neighborId": 423,
          "signalStrength": -99,
          "age": 752,
          "channel": 5110,
          "serving": false
        },
        {
          "radioType": "umts",
          "neighborId": 157,
          "signalStrength": -79,
          "age": 752,
          "channel": 4384,
          "serving": false
        }
      ]
    }
    Copy to clipboard

## Scanned GPS locations

Source: [https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html)

Provides a list of GPS locations available to the client.

**Syntax**

    {
      "fix": 1,
      "latitude": 42.2970025,
      "longitude": -71.2333229,
      "hpe": 9,
      "altitude": 43,
      "speed": 3.5,
      "bearing": -35,
      "speedUncertainty": 2.5,
      "bearingUncertainty": 2,
      "vpe": 10,
      "age": 987,
      "constellations": [
        {
          "name": "GPS",
          "nsat": 3
        },
        {
          "name": "GLONASS",
          "nsat": 3
        },
        {
          "name": "GALILEO",
          "nsat": 3
        }
      ]
    }
    Copy to clipboard

**Parameters**

| Parameter | Parameter | Values | Description |
| --- | --- | --- | --- |
| `fix` | `fix` | <ul class="ul" id="GPS_locations_14__ul_y1g_pll_lyb_kelvinb_08-14-23-1806-11-928"><br>                  <li class="li">1 (default) – GPS</li><br><br>                  <li class="li">2 – DGPS</li><br><br>                  <li class="li">3 – PPS</li><br><br>                  <li class="li">4 – RTK</li><br><br>                  <li class="li">5 – FRTK</li><br><br>                  <li class="li">6 – Estimated</li><br><br>                  <li class="li">7 – MIM</li><br><br>                  <li class="li">8 – SM </li><br><br>                </ul> | Type of fix. |
| `latitude` | `latitude` | – | Calculated physical geographic location, expressed in decimal degrees using<br>                floating point values, using the WGS84 datum. |
| `longitude` | `longitude` | – | Calculated physical geographic location, expressed in decimal degrees using<br>                floating point values, using the WGS84 datum. |
| `hpe` | `hpe` | – | Horizontal Positioning Error.<br><br><br>                <br>Estimated horizontal error of the location, in meters, with 68% confidence.<br><br><br>                <br>Note: The default 68% confidence is supported in TPS v2.28 and<br>                  later. For 95% confidence, set `hpeConfidence` to 95 in the<br>                  location request. |
| `altitude` | `altitude` | – | (Optional) Altitude above WGS84, in meters. |
| `speed` | `speed` | – | (Optional) Speed in meters/sec. |
| `bearing` | `bearing` | – | (Optional) Bearing, in degrees, from North in counterclockwise (+90 ° is<br>                West). |
| `speedUncertainty` | `speedUncertainty` | – | (Optional) Uncertainty of speed, in meters/sec with 68% confidence. |
| `bearingUncertainty` | `bearingUncertainty` | – | (Optional) Uncertainty of bearing, in degrees with 68% confidence. |
| `vpe` | `vpe` | – | (Optional) Vertical Positioning Error. <br>Estimated vertical error of the<br>                  altitude, in meters, with 68% confidence. |
| `age` | `age` | – | (Optional) Relative age of the measurement, in milliseconds or<br>                timestamp. |
| `constellations` | `constellations` | – | List of constellation types that contributed to the fix result. |
|  | `name` | – | (Optional) Name of the constellation of GNSS satellites; possible examples are<br>                GPS, GLONASS, Galileo, BeiDou, QZSS, SBAS, UNKNOWN. |
|  | `nsat` | – | (Optional) Number of GNSS satellites, an integer value, used in a constellation<br>                to compute location. |
|  |  |  |  |

## Scanned BLE beacons

Source: [https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html)

The scanned Bluetooth low energy (BLE) beacon group allows the input of observed BLE beacons.
      Multiple BLE beacons and multiple types of BLE beacons are allowed as input.

### IBeacon BLE

Source: [https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html)

Provides a list of iBeacon BLE beacons scanned by the client.

**Syntax**

    {
      "uuid": "f7826da6-4fa2-4e98-8024-bc5b71e0893e",
      "major": 33834,
      "minor": 28699,
      "companyId": 235,
      "macAddress": "00:0C:41:A2:DF:52",
      "rssi": -80,
      "age": 10,
      "txPower": -50
    }
    Copy to clipboard

**Parameters**

| Parameter | Values | Description |
| --- | --- | --- |
| `uuid` | – | Universally Unique Identifier. <br>Comprises 32 hexadecimal digits, split into 5<br>                  groups, separated by hyphens; 16 bytes. |
| `major` | Range: 0 to 65535 | Additional identifying number assigned to iBeacon; unsigned integer. |
| `minor` | Range: 0 to 65535 | Additional identifying number assigned to iBeacon; unsigned integer. |
| `companyId` | – | (Optional) Identifier provided with iBeacon prefix; integer. |
| `macAddress` | – | (Optional) MAC address of the device. |
| `rssi` | – | (Optional) Received signal strength, in dBm.<br>Note: If this value is provided,<br>                    `txPower` must also be provided for higher<br>                accuracy. |
| `age` | – | (Optional) Relative age of the scan, in milliseconds or timestamp. |
| `txPower` | Range: -128 to 127 | (Optional) Transmission power of the beacon; rx\_power at 1 m from BLE beacon<br>                (1 byte); signed integer. |

### Eddystone BLE

Source: [https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html)

Provides a list of Eddystone BLE beacons scanned by the client.

**Syntax**

    {
      "namespaceId": "f7826da6bc5b71e0893e",
      "instanceId": "415931775549",
      "macAddress": "00:0C:41:A2:DF:52",
      "rssi": -84,
      "age": 10,
      "rangingData": -22
    }
    Copy to clipboard

**Parameters**

| Parameter | Values | Description |
| --- | --- | --- |
| `namespaceId` | – | 10‑byte hexadecimal identifier; string. |
| `instanceId` | – | 6‑byte hexadecimal identifier; string. |
| `macAddress` | – | (Optional) MAC address of the device. |
| `rssi` | – | (Optional) Received signal strength, in dBm.<br>Note: If this value is provided,<br>                    `txPower` must also be provided for higher<br>                accuracy. |
| `age` | – | (Optional) Relative age of the scan, in milliseconds or timestamp. |
| `rangingData` | – | (Optional) Configured maximum transmission power, in dBm, emitted by the beacon<br>                at 0 m (1 byte). |

### altBeacon BLE

Source: [https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html](https://docs.qualcomm.com/doc/80-42204-1/topic/4_TPS_JSON_API_request.html)

Provides a list of altBeacon BLE beacons scanned by the client.

**Syntax**

    {
      "uuid": "123e4567-e89b-12d3-A456-426655440000",
      "major": 33834,
      "minor": 28699,
      "companyId": 235,
      "macAddress": "00:0C:41:A2:DF:52",
      "rssi": -95,
      "age": 10,
      "refRssi": -50
    }
    Copy to clipboard

**Parameters**

| Parameter | Values | Description |
| --- | --- | --- |
| `uuid` | – | Universally Unique Identifier. <br>Comprises 32 hexadecimal digits, split into 5<br>                  groups, separated by hyphens; 16 bytes. |
| `major` | Range: 0 to 65535 | Additional identifying number assigned to altBeacon; unsigned integer. |
| `minor` | Range: 0 to 65535 | Additional identifying number assigned to altBeacon; unsigned integer. |
| `companyId` | – | (Optional) Identifier provided with altBeacon prefix; integer. |
| `macAddress` | – | (Optional) MAC address of the device. |
| `rssi` | – | (Optional) Received signal strength, in dBm.<br>Note: If this value is provided,<br>                    `refRssi` must also be provided for higher<br>                accuracy. |
| `age` | – | (Optional) Relative age of the scan, in milliseconds or timestamp. |
| `refRssi` | Range: -128 to 0 | (Optional) Average signal strength received at 1 m from the advertiser; signed<br>                1‑byte value. |

Last Published: Mar 17, 2026

[Previous Topic
TPS JSON API headers and authentication](https://docs.qualcomm.com/bundle/publicresource/80-42204-1/topics/aps-json-api-headers-and-auth.md) [Next Topic
TPS JSON API response](https://docs.qualcomm.com/bundle/publicresource/80-42204-1/topics/19_TPS_JSON_API_response.md)