curl -X POST https://api.hellotracks.com/api/locate \
--header 'API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
-d '{
"data": {
"withAddress": true,
"accounts": {
"worker1uid": {},
"worker2@company.com": {}
}
}
}'
curl -X POST https://api.hellotracks.com/api/locate \
--header 'API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
-d '{
"data": {
"teams": [1, 2],
"signal": "ping",
"withDetails": true
}
}'
curl -X POST https://api.hellotracks.com/api/locate \
--header 'API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
-d '{
"data": {
"teams": true,
"withAddress": true
}
}'
{
"status": 123,
"accounts": [
{}
]
}Location
Locate
Get real-time location of members in your organization.
POST
/
api
/
locate
curl -X POST https://api.hellotracks.com/api/locate \
--header 'API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
-d '{
"data": {
"withAddress": true,
"accounts": {
"worker1uid": {},
"worker2@company.com": {}
}
}
}'
curl -X POST https://api.hellotracks.com/api/locate \
--header 'API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
-d '{
"data": {
"teams": [1, 2],
"signal": "ping",
"withDetails": true
}
}'
curl -X POST https://api.hellotracks.com/api/locate \
--header 'API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
-d '{
"data": {
"teams": true,
"withAddress": true
}
}'
{
"status": 123,
"accounts": [
{}
]
}Retrieve the current real-time location and status of members. This endpoint provides a lightweight response focused on location data, unlike
Or locate all members in specific teams:
/getaccounts which returns complete member profiles.
REQUEST
Locate specific members by UID or username:POST https://api.hellotracks.com/api/locate
{
"data": {
"withAddress": true,
"withDetails": false,
"accounts": {
"<uid-or-username>": {},
"<uid-or-username>": {}
}
}
}
POST https://api.hellotracks.com/api/locate
{
"data": {
"withAddress": false,
"withDetails": true,
"teams": [1, 2, 3]
}
}
object
Object with member UIDs or usernames as keys. Each key maps to an empty object
{}.Use this to locate specific members.Example: {"worker1uid": {}, "worker2@company.com": {}}array
Array of team numbers (integers) to locate all members in those teams.Alternative to
accounts for team-based location retrieval.- If array is provided with team numbers: Returns members from those specific teams
- If array is empty: Returns no team-selected members
- If omitted: Only members explicitly listed in
accountsare returned - To locate all company employees, send
teamsas a non-array value such astrue
[1, 2, 5]boolean
default:false
Include reverse-geocoded address for each location.
true: Addsaddressfield with human-readable addressfalse: No address field (faster response)
boolean
default:false
Include detailed device and connection information.
true: Adds device fields likeconnection_type,android_id,loc_gps_on,tracking_statusfalse: Basic location data only
string
Optional signal command to send to devices.
"ping": Sends a ping signal to all devices, requesting them to update their location immediately- Devices that are online with internet connection will respond with fresh location data
signal_tsin response shows when device last received a ping
RESPONSE
{
"status": 0,
"accounts": [
{
"uid": "cubt5w",
"usr": "worker@company.com",
"name": "John Doe",
"email": "john@company.com",
"phone": "+14155551234",
"lat": 37.801205,
"lng": -122.43143,
"ts": 1396985826428,
"acc": 4,
"dir": 10,
"spd": 0,
"elv": 20,
"bat": 78,
"teams": [{"name": "Zone G", "number": 4}],
// If withAddress: true
"address": "Chestnut Street, San Francisco, CA",
// If withDetails: true
"connection_type": 1,
"android_id": "aa819713c067792e",
"loc_gps_on": true,
"loc_net_on": true,
"tracking_status": true,
"signal_ts": 1454894511000
}
]
}
integer
required
Status code.
0 indicates success.array
required
Array of location objects, one per member. Each contains:Core Identity:
uid(string): Member unique identifierusr(string): Username/emailname(string): Full nameemail(string): Email addressphone(string): Phone numberteams(array): Array of team objects withnameandnumber
lat(double): Latitudelng(double): Longitudets(long): Location timestamp in milliseconds (Unix epoch)acc(integer): GPS accuracy in metersdir(integer): Direction heading (0-360 degrees)spd(double): Speed (meters per second)elv(integer): Elevation/altitudebat(integer): Battery level percentage (0-100)
address(string): Reverse-geocoded street address
connection_type(integer): Device internet connection typeandroid_id(string): Android device identifierloc_gps_on(boolean): GPS enabled on deviceloc_net_on(boolean): Network location enabledtracking_status(boolean): HelloTracks tracking enabledsignal_ts(long): Timestamp of last ping signal received
Use Cases
Fleet Tracking: Monitor real-time positions of all field workers to optimize dispatching and provide customer ETAs. Team Location: View locations of specific team members working in a particular zone or on specific projects. Live Map Display: Build a live map dashboard showing current positions of all active workers. Ping for Updates: Request immediate location updates from devices by adding"signal": "ping" parameter.
Examples
curl -X POST https://api.hellotracks.com/api/locate \
--header 'API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
-d '{
"data": {
"withAddress": true,
"accounts": {
"worker1uid": {},
"worker2@company.com": {}
}
}
}'
curl -X POST https://api.hellotracks.com/api/locate \
--header 'API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
-d '{
"data": {
"teams": [1, 2],
"signal": "ping",
"withDetails": true
}
}'
curl -X POST https://api.hellotracks.com/api/locate \
--header 'API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
-d '{
"data": {
"teams": true,
"withAddress": true
}
}'
Timestamps: All timestamps are in milliseconds since Unix epoch (January 1, 1970 UTC). This is the standard Java/JavaScript timestamp format.
Ping Signal: When using
"signal": "ping", only devices that are currently online with internet connectivity will respond with updated location. Offline devices will not update.Performance: For frequent location polling, use this endpoint instead of
/getaccounts as it returns a lighter payload focused on location data.Related Endpoints
- Get Members - Full member profiles with all properties
- Get Tracks - Historical GPS track data
- Member Object - Complete member data structure