VerifyDevicePosition - Amazon Location Service

VerifyDevicePosition

Verifies the integrity of the device's position by determining if it was reported behind a proxy, and by comparing it to an inferred position estimated based on the device's state.

Note

The Location Integrity SDK provides enhanced features related to device verification, and it is available for use by request. To get access to the SDK, contact Sales Support.

Request Syntax

POST /tracking/v0/trackers/TrackerName/positions/verify HTTP/1.1 Content-type: application/json { "DeviceState": { "Accuracy": { "Horizontal": number }, "CellSignals": { "LteCellDetails": [ { "CellId": number, "LocalId": { "Earfcn": number, "Pci": number }, "Mcc": number, "Mnc": number, "NetworkMeasurements": [ { "CellId": number, "Earfcn": number, "Pci": number, "Rsrp": number, "Rsrq": number } ], "NrCapable": boolean, "Rsrp": number, "Rsrq": number, "Tac": number, "TimingAdvance": number } ] }, "DeviceId": "string", "Ipv4Address": "string", "Position": [ number ], "SampleTime": "string", "WiFiAccessPoints": [ { "MacAddress": "string", "Rss": number } ] }, "DistanceUnit": "string" }

URI Request Parameters

The request uses the following URI parameters.

TrackerName

The name of the tracker resource to be associated with verification request.

Length Constraints: Minimum length of 1. Maximum length of 100.

Pattern: [-._\w]+

Required: Yes

Request Body

The request accepts the following data in JSON format.

DeviceState

The device's state, including position, IP address, cell signals and Wi-Fi access points.

Type: DeviceState object

Required: Yes

DistanceUnit

The distance unit for the verification request.

Default Value: Kilometers

Type: String

Valid Values: Kilometers | Miles

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "DeviceId": "string", "DistanceUnit": "string", "InferredState": { "Accuracy": { "Horizontal": number }, "DeviationDistance": number, "Position": [ number ], "ProxyDetected": boolean }, "ReceivedTime": "string", "SampleTime": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

DeviceId

The device identifier.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 100.

Pattern: [-._\p{L}\p{N}]+

DistanceUnit

The distance unit for the verification response.

Type: String

Valid Values: Kilometers | Miles

InferredState

The inferred state of the device, given the provided position, IP address, cellular signals, and Wi-Fi- access points.

Type: InferredState object

ReceivedTime

The timestamp for when the tracker resource received the device position in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

Type: Timestamp

SampleTime

The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

Type: Timestamp

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

The request was denied because of insufficient access or permissions. Check with an administrator to verify your permissions.

HTTP Status Code: 403

InternalServerException

The request has failed to process because of an unknown server error, exception, or failure.

HTTP Status Code: 500

ResourceNotFoundException

The resource that you've entered was not found in your AWS account.

HTTP Status Code: 404

ThrottlingException

The request was denied because of request throttling.

HTTP Status Code: 429

ValidationException

The input failed to meet the constraints specified by the AWS service.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: