API reference/InTouch Telematics
GETstatefullegacy-source evidence

Gets the historical location events of a device.

/devices/{deviceId}/events

This API is used to get the historical location information as well as related additional information for a vehicle. This API can be used thus to create customized reports for users of your apps for different use cases, e.g.: plot the vehicle's past movements on map or get a historical graph of change in a vehicle's altitude.

Legacy contract evidence

This operation was normalized from a MapmyIndia-generation specification. Validate its current Mappls host, path, package entitlement, authentication generation, and commercial availability before production use.

Call the operation

GEThttps://intouch.mapmyindia.com/iot/api/devices/1/events?startTime=1700000000000&endTime=1700000000000
Base URLhttps://intouch.mapmyindia.com/iot/api
Authenticationbearer
Journey roleobserve
Content typesNo request body

Parameters

NameLocationTypeDescriptionExample
deviceIdrequired
pathinteger

ID of the device for which the events need to be fetched

1
startTimerequired
querynumber

The starting timsstamp from which the events need to be fetched.

1700000000000
endTimerequired
querynumber

The end timestamp till which the events need to be fetched.

1700000000000
skipPeriod
queryinteger

Defined in minitues. For example, if say 2 is passed then each returned data packet will have a minimum difference of 2 mins.

2

Build your request in eight languages

Change source-backed examples once, validate required inputs, and copy the synchronized cURL, JavaScript, Python, Java, C#, Go, PHP, or Ruby request. Credentials remain environment references, and this page never sends a provider request.

Local request composerCode stays local · fixtures are explicit
GETRequest inputs
4 editable · 0 protected
Generated in eight languages
Environment-backed credentials
GEThttps://intouch.mapmyindia.com/iot/api/devices/1/events?startTime=1700000000000&endTime=1700000000000&skipPeriod=2
Credential-free sandboxExecute this contract without a provider call
How fixtures work
Generated from your inputs
curl --request GET \
  --url 'https://intouch.mapmyindia.com/iot/api/devices/1/events?startTime=1700000000000&endTime=1700000000000&skipPeriod=2' \
  --header "Accept: application/json" \
  --header "Authorization: Bearer ${MAPPLS_INTOUCH_TOKEN}"

Credential-safe by constructionSet MAPPLS_INTOUCH_TOKEN only in your trusted runtime. Code generation stays local. Sandbox execution sends only bounded fixture inputs to this developer platform and never reads a credential or calls Mappls.

Send a production-shaped request

Examples use environment-backed access tokens, explicit timeouts where supported, status checks, and JSON bodies derived from the source schema. Replace sample identifiers and coordinates with values from your application.

GET /devices/{deviceId}/events
curl --request GET \
  --url 'https://intouch.mapmyindia.com/iot/api/devices/1/events?startTime=1700000000000&endTime=1700000000000' \
  --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'

Responses

200

OK - successful operation

203

Device Not Found

400

Bad Request - Invalid device ID supplied or invalid data type. For example, input attribute "id" is integer but string value gets passed.

401

Unauthorized Request. Access to API is forbidden.

404

Not Found - URL Not Found

200 response fields

FieldTypeDescriptionExample
data
object

No field description in the source contract.

example
data.drivingBehaviourCount
object

No field description in the source contract.

example
data.drivingBehaviourCount.haCount
integer

Harsh Acceleration Count

2
data.drivingBehaviourCount.hbCount
integer

Harsh Breaking Count

1
data.drivingBehaviourCount.hcCount
integer

Harsh Cornering Count

3
data.summary
object

No field description in the source contract.

example
data.summary.distance
number

Total Drive Distance in KMs

23.67
data.summary.duration
number

Total drive duration in seconds

300
data.summary.avgSpeed
number

Average speed in km/hr

45.54
data.summary.startAddress
string

No field description in the source contract.

213, 1st Cross Road, HAL Stage 2, Indiranagar, Bengaluru, Karnataka. 15 m from The Bodhi Tree pin-560038 (India)
data.summary.endAddress
string

No field description in the source contract.

3645, 13th F Main Road, Dupanahalli, Indiranagar, Bengaluru, Karnataka. 12 m from Meenakshi Enclave pin-560038 (India)
data.summary.startTimestamp
number

Start time of the device i,e the time at which the data first came from the device for the selected day.

1700000000000
data.summary.endTimestamp
number

End time of the device i,e the time at which the last data came from the device for the selected day.

1700000000000
data.positionList
array<object>

No field description in the source contract.

example
data.positionList[].address
string

Address of the location event

213, 1st Cross Road, HAL Stage 2, Indiranagar, Bengaluru, Karnataka. 15 m from The Bodhi Tree pin-560038 (India)
data.positionList[].timestamp
number

No field description in the source contract.

1700000000000
data.positionList[].longitude
number

No field description in the source contract.

77.229463
data.positionList[].latitude
number

No field description in the source contract.

28.612964
data.positionList[].heading
number

device heading direction in degrees from North.

298
data.positionList[].speed
number

Device speed at this particular location

33.33
data.positionList[].ignition
number

whether vehicle ignition is On or Off. 0 means ignition is OFF and 1 means ignition is ON.

0
data.positionList[].powerSupplyVoltage
number

battery voltage value in milli volts.

12769
data.positionList[].gpsFix
boolean

GPS is fix or not for the device. true meanse GPS is fixed and false means GPS is not fixed.

true
data.positionList[].validGPS
boolean

Checks whether GPS is valid or not.Allowed: true · false

true
data.positionList[].accOff
boolean

checks for whether adaptive cruise control is enabled or not.Allowed: true · false

true
data.positionList[].movementStatus
integer

Checks the movement status of the device. 1:Moving 2:Idle 3:Stopped 4:Towing 5:No Data 6:Power Off 7:No Gps 8:On Trip 9:Free Vehicle

1
data.positionList[].durationTime
number

duration(in secsonds) time spent at current location

1700000000000
data.positionList[].greenDriveType
string

HA(Harsh acceleration), HB(Harsh Breaking), HC(Harsh Cornering)

HA
data.positionList[].tripStatus
integer

0 - On Trip, 1 - Free VehicleAllowed: On Trip · Free Vehicle

0
data.positionList[].mobileInfo
object

No field description in the source contract.

example
data.positionList[].mobileInfo.locationSource
number

1 - GPS connected, distanceaccuracy less that 50mtrs, 2 - GPRS connected, distance accracy more than 50 mtr.Allowed: GPS Connected · GPRS Connected

28.612964,77.229463
data.positionList[].mobileInfo.mockLocation
boolean

true - mock location being sent by the user. false - real location being sent by the user.

28.612964,77.229463
data.positionList[].mobileInfo.isAirplanemode
boolean

Checks whether mobile's airplane mode is ON(i,e true) or OFF(i,e false)

true
data.positionList[].mobileInfo.callStatus
number

0-CALLSTATEIDLE, 1-CALLSTATERINGING, 2-CALLSTATEOFFHOOKAllowed: CALL_STATE_IDLE · CALL_STATE_RINGING · CALL_STATE_OFFHOOK

0
data.positionList[].mobileInfo.deviceStatus
integer

status of the device in the current location. Values as mentioned in the below enum are possible.Allowed: IN_VEHICLE · ON_BICYCLE · ON_FOOT · STILL · UNKNOWN · TILTING · WALKING · RUNNING

0
data.positionList[].mobileInfo.phoneEvent
integer

Checks the location permission that the user enables/disables in the mobile phone.Allowed: EVENT_LOCATION_PERMISSION_DENIED = 5 · EVENT_LOCATION_PROVIDER_OFF = 6 · EVENT_LOCATION_STOP_PROGRAMMATICALLY = 7

5
data.positionList[].alerts
object

No field description in the source contract.

example
data.positionList[].alerts.deviceId
number

Will come only in case of /alarmLog GET API response

8989
data.positionList[].alerts.timestamp
number

Time at which the alert got generated

1700000000000
data.positionList[].alerts.latitude
number

No field description in the source contract.

28.612964
data.positionList[].alerts.longitude
number

No field description in the source contract.

77.229463
data.positionList[].alerts.address
string

Location address at which the alarm got generated

237, Okhla Industrial Estate Phase 3, New Delhi, Delhi. 19 m from Wipro BPO Corporate Office pin-110020
data.positionList[].alerts.alarmType
integer

Type of alarm to create. Following are the alarm types & their corresponding IDs. IGNITION: 21, OVERSPEED: 22, UNPLUGGED: 23, PANIC: 24, GEOFENCE: 26, STOPPAGE: 27, IDLE: 28, TOWING: 29, GPRS CONNECTIVITY: 126, VEHICLE BATTERY: 129, MILEAGE: 133, GPS CONNECTIVITY: 146, DISTANCE COVERED: 151, INTERNAL BATTERY VOLTAGE:161

28
data.positionList[].alerts.limit
integer

Alarm limit as set in the config. For example, if an overspeed alarm set on limit of 44 km/hr in the alarm config setting, then this attribute will return 44 km/hr

44
data.positionList[].alerts.duration
integer

Alarm duration limit as set in the alarm config section. For example, if duration of overspeed alarm is set as 20 secs, then the alarm will generate when the vehicle overspeeds for a duration of 20 secs

20
data.positionList[].alerts.actualLimit
integer

The actual data received from the device at that particular moment when the alarm got generated

57
data.positionList[].alerts.actualDuration
integer

Actual duration for which the device breached the alarm config limit

25
data.positionList[].alerts.severity
integer

0 - Low Severity. 1 - High Severity

1
data.positionList[].alerts.data
integer

Describes the state of the alarm. IGNITION(type = 21), 0: OFF & 1: ON. AC(type=25), 0: OFF, 1: ON. GEOFENCE(type=26), 1: Entry & Exit Geofence 2: Entry Geofence, 3: Leaving Geofence & 4: Long Stay In Geofence

1
data.positionList[].alerts.geofenceId
number

This is the ID of the geofence for which the alarm got generated. This will come only when the 'type' field return 26 i,e geofence.

987876
Response example
{
  "data": {
    "drivingBehaviourCount": {
      "haCount": 2,
      "hbCount": 1,
      "hcCount": 3
    },
    "summary": {
      "distance": 23.67,
      "duration": 300,
      "avgSpeed": 45.54,
      "startAddress": "213, 1st Cross Road, HAL Stage 2, Indiranagar, Bengaluru, Karnataka. 15 m from The Bodhi Tree pin-560038 (India)",
      "endAddress": "3645, 13th F Main Road, Dupanahalli, Indiranagar, Bengaluru, Karnataka. 12 m from Meenakshi Enclave pin-560038 (India)",
      "startTimestamp": 1577644204,
      "endTimestamp": 1577684913
    },
    "positionList": [
      {
        "address": "213, 1st Cross Road, HAL Stage 2, Indiranagar, Bengaluru, Karnataka. 15 m from The Bodhi Tree pin-560038 (India)",
        "timestamp": 1574937348,
        "longitude": 77.74937348,
        "latitude": 55.74937348,
        "heading": 298,
        "speed": 33.33,
        "ignition": 0,
        "powerSupplyVoltage": 12769
      }
    ]
  }
}

Operate it safely

observe

This operation observes durable platform state. Preserve resource identifiers and account for pagination, delay, and eventual consistency.

Keep credentials and raw tokens out of source, client bundles, prompts, and logs.Record the operation ID, status, latency, retry count, and source contract version in traces.Classify 4xx responses before retrying; back off and add jitter for retryable 5xx or transport failures.Persist resource identifiers and apply commands exactly once in effect across retries and event replay.

Contract provenance

Source file
contenthub/dochub/mapmyindia-intouch-rest-apis/custom/event.json
SHA-256
e12f19aca91ae7a3a69a36fbd62f0929a6e0ffa0437bfc7361557b5b83d69528
Normalization
Fields are parsed from OpenAPI. Operational guidance and language samples are generated and labeled separately.